Aller au contenu

Recupere une valeur de liste deroulante


zigzou

Sujets conseillés

Déja bonjour a tous!!! ;)

G un gros soucis c'est pourquoi je me permet de m'imicer sur ce forum!! :P En effet ca fait une semaine que je me prend la tete dessus:

je veux effectuer un formulaire possedant plusieurs listes deroulantes où le choix de la premiere liste saisi par l'utilisateur change le contenu de la seconde liste deroulante!

(soit l'utilisateur choisit une donnée dans la premiere liste et en fonction de son choix, la seconde liste prend un contenu different! ) le contenu de ces listes etant des variables prises sur BDD......

je vous met le code actuel, que j'obtiens...

<?
echo '<td><center><select name="famille">';
   while($family = mysql_fetch_array($famille)){
       $nomfamille[$z1] = $family['nomfamille'];
       $numfam[$z1] = $family['idfamille'];
       echo'<option value='.$numfam[$z1].'>'.$nomfamille[$z1].'</option>';
       $z1++;
   }
   echo'</select></center></td>';
           
   echo '<td><center><select name="sousfamille">';
   
   
   $choix_famille = $_POST['famille'];//Le pb se pose ici je n'obtiens ma valeur que lorsk je clik sur le bouton "submit" (soit le $numfam[$z1] selectionné par l'user)
   
   $sfamille = mysql_query("SELECT DISTINCT idsfamille, nomsfamille FROM ssousfamilles WHERE idfamille='.$choix_famille.'");
   $numsfam = array();
   $nomsfamille = array();
   
   while($sfamily = mysql_fetch_array($sfamille)){
       $nomsfamille[$z2] = $sfamily['nomsfamille'];
       $numsfam[$z2] = $sfamily['idfamille'];
       echo'<option value='.$numfam[$z2].'>'.$nomfamille[$z2].'</option>';
       $z2++;
   }
   echo '</select></center></td>';
?>  

$choix_famille = $_POST['famille'];//Le pb se pose ici je n'obtiens ma valeur que lorsk je clik sur le bouton "submit"  (soit le $numfam[$z1] selectionné par l'user)

Voila le soucis est ici! En effet j'aimerais récuperer le choix fait par l'utilisateur dans la premiere liste (sans reload de la page et donc sans bouton submit) pour pouvoir changer le contenu de la seconde liste en fonction du choix (requete sur BDD prenant comme argument le choix de l'utilisateur).

Je sais que la solution dois s'orienté vers du javascript... Or je suis un newb en javascript :blink: ... Donc malgré mes recherches les resultats se sont averer inutiles!! :(

Modifié par zigzou
Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Comme le montre Prélude dans son exemple, si tu veux modifier tes listes déroulantes sans faire de submit (donc relancer une requete du coté serveur), il faut absolument que tu ais toutes tes données du coté client donc dans la source de ta page HTML.

La solution la plus efficace pour faire cela serait, a mon avis, de creer dymaniquement en PHP les valeurs de tes variables javascripts en demandant toutes les données pour toutes les familles possible.

 $sfamille = mysql_query("SELECT DISTINCT idsfamille, nomsfamille FROM ssousfamilles ORDER BY idfamille");

ensuite, dans une boucle PHP, tu t'arranges a creer un javascript avec des 'array' ressemblant au javascript de prélude.

Bon courage

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...