Votre question

Modification dynamique d'une liste

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
15 Mars 2006 15:44:05

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

16 Mars 2006 09:53:05

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
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS