Se connecter avec
S'enregistrer | Connectez-vous

Modification dynamique d'une liste

Dernière réponse : dans Programmation

Bonjour à tous,
J'ai pas mal cherché et c'est encore flou dans ma tête.
J'ai une liste de thèmes récupérée par une boucle à partir de ma BDD. Et dès que je sélectionne un des thèmes j'aimerais que ça modifie ma 2nde liste qui affiche alors les sous-thèmes de ce même thème, ainsi de suite avec les séries et les formations.
J'utilise donc une base de données, php et Javascript.

En gros, chaque liste permet d'en afficher une autre d'après la selection.
Merci d'avance!

Mon code java ressemble à quelque chose comme ça
  1. function theme(form,list)
  2. {
  3. <?
  4. $reqth = mysql_query("select * from soustheme")or die(mysql_error());
  5. while($listh = mysql_fetch_array($reqth)){;?>
  6. list.options.length=0;
  7. var o=new Option(<?echo $listh['libelle_soustheme'];?>,<?echo $listh['libelle_soustheme'];?>);
  8. form.liste.options[form.liste.options.length]=o;
  9. <?
  10. };?>
  11. }
  12. }
  13. //-->
  14. </script>

Autres pages sur : modification dynamique liste

Lassé par la pub ? Créez un compte

Bonjour,
mon code a évolué mais je ne trouve pas le moyen de récupérer la valeur de ma 1ère liste pour en faire le paramètre de ma 2nde requête...
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. <!--
  5. function Nform(form,list)
  6. {
  7. list.options.length=0;
  8. <?
  9. $reqth = mysql_query("select * from soustheme")or die(mysql_error());
  10. while($listh = mysql_fetch_array($reqth)){;?>
  11. var o=new Option("<?echo $listh['libelle_sstheme'];?>","<?echo $listh['libelle_sstheme'];?>");
  12. form.liste.options[form.liste.options.length]=o;
  13. <?
  14. };?>
  15. }
  16.  
  17. function Nserie(form,list)
  18. {
  19. list.options.length=0;
  20. <?
  21. $reqssth = mysql_query("select * from gf_serie where idsstheme=1")or die(mysql_error());
  22. while($listhss = mysql_fetch_array($reqssth)){;?>
  23. var o=new Option("<?echo $listhss['titre'];?>","<?echo $listhss['titre'];?>");
  24. form.liste2.options[form.liste2.options.length]=o;
  25. <?
  26. };?>
  27.  
  28. }
  29. //-->
  30. </script>
  31. </head>
  32.  
  33. <body>
  34.  
  35. <form>
  36. <input type="radio" name="choix" value="Nform" OnClick="Nform(this.form,this.form.liste)">Nouvelle formation
  37. <select name="liste" align="top" size="5" OnClick="Nserie(this.form,this.form.liste2)">
  38. <option value="Liste vide">Liste vide...
  39. </select>
  40. <select name="liste2" align="top" size="5">
  41. <option value="Liste2 vide">Liste vide...
  42. </select>
  43. </form>
  44.  
  45. </body>
  46. </html>


La condition de la 2nde requête est fausse, ce n'est pas 1, j'aimerais avoir ici la valeur sélectionnée par l'utilisateur dans la 1ère liste.

Merci d'avance
Lassé par la pub ? Créez un compte
Tom's guide dans le monde