IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Filtrer le contenu d'une liste déroulante à partir de la sélection d'une autre


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 44
    Points
    44
    Par défaut Filtrer le contenu d'une liste déroulante à partir de la sélection d'une autre
    Bonjour, j'ai inclus dans mon formulaire deux listes déroulantes...
    la première permet de choisir un constructeur ..et la seconde permet de choisir le modèle ...
    J'aimerais filtrer les valeurs de la liste déroulante "modèle" grace au choix du constructeur dans la liste déroulante. J'aimerais afficher uniquement les modèles proposé par le constructeur sélectionné dans la première liste déroulante ..


    J'ai donc voulu récupérer le contenu de la première liste grâce à la variable $_POST[id_constructeur] mais ça ne fonctionne pas ....

    Voilà mon code ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    <tr>
            	<td class="right-label" style="width: 100px; font-weight: bold;" nowrap>Constructeur *</td>
                    <td colspan=3 class="left-label" nowrap>
                    	<select name=id_constructeur onchange="decision(this.selectedIndex);">
                            <option value="">------</option>
                            <?
    						    connexion();
                            	$requete = mysql_query( "select id_constructeur ,nom from constructeur2 order by nom" );
                                    while( $resultat=mysql_fetch_array($requete) ) {
                                    	print "<option value=$resultat[0] ";
                                            if($_POST[id_constructeur] == $resultat[0]) { print "selected"; }
                                            print ">$resultat[1]</option>\n";
                                    }
                                    deconnexion();
                            ?>
                            </select>
                    </td>
            </tr>
    	<tr><td colspan=2 style="font-size: 5;"><br></td></tr>
     
    	<tr>
            	<td class="right-label" style="width: 100px; font-weight: bold;" nowrap>Modele *</td>
                    <td colspan=3 class="left-label" nowrap>
                    	<select name=id_modele onchange="decision(this.selectedIndex);">
                            <option value="">------</option>
                            <?
    						    connexion();
                            	$requete = mysql_query( "select id_modele ,nom_modele,id_constructeur from modele2 where id_constructeur ='$_POST[id_constructeur]'");
                                    while( $resultat=mysql_fetch_array($requete) ) {
                                    	print "<option value=$resultat[0] ";
                                            if($_POST[id_modele] == $resultat[0]) { print "selected"; }
                                            print ">$resultat[1]</option>\n";
                                    }
                                    deconnexion();
                            ?>
                            </select>
                    </td>
            </tr>
    besoin d'une petite aide ?

    Table constructeur2 : id_constructeur ,id_support ,nom ,commentaire
    table modele2 : ID_MODELE , ID_CONSTRUCTEUR , NOM_MODELE , COMMENTAIRE

  2. #2
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 44
    Points
    44
    Par défaut
    Je pense qu'en faite il me faut un mise à jour de la valeur de la seconde liste en fonction du choix selectionné dans la premiere..

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 61
    Points
    61
    Par défaut
    Bonjour,

    Que fait votre fonction Javascript que vous déclenchez sur le onchange?

  4. #4
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 44
    Points
    44
    Par défaut
    c'est un morceau de code que j'ai repris...en effet il faut que change la valeur du code javascript sur le Onchange()....
    Des propositions ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 61
    Points
    61
    Par défaut
    Un "this.form.submit()" ne me parait pas mal

  6. #6
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 44
    Points
    44
    Par défaut
    J'ai déjà essayer ceci ...mais en fait ça valide mon formulaire et appel la page new_server.php (qui est l'action de mon formulaire) ....
    j'aimerais juste que ça me valide le champs select constructeur uniquement ....

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 61
    Points
    61
    Par défaut
    Un petit peu d'Ajax alors... Ça éviterait en plus le rafraîchissement de la page.

  8. #8
    Membre du Club
    Inscrit en
    Juin 2008
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 116
    Points : 44
    Points
    44
    Par défaut
    Tu n'aurais pas d'exemple par tout hasard ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 59
    Points : 61
    Points
    61
    Par défaut
    Excuse-moi, j'étais un peu pressé....

    Voilà un tutoriel qui correspond exactement à ton cas, c'est à dire où les options d'un select varie en fonction de l'option sélectionnée d'un autre select.

    http://siddh.developpez.com/articles/ajax/#LIV-A

    Bon courage

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/05/2014, 17h23
  2. [MySQL] Affichage de champs a partir d'un objet d'une liste déroulante
    Par Sofute dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/01/2007, 22h48
  3. [MySQL] Ajout d'options dans une liste déroulante à partir du résultat d'une requête
    Par minogttao dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/12/2006, 18h18
  4. Remplir une liste déroulante à partir d'un champ dans une pop up
    Par wiam26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 16h42
  5. [MySQL] Remplissage d'une liste déroulante à partir d'une requête SQL
    Par gaucher dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 11/05/2006, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo