Se connecter avec
S'enregistrer | Connectez-vous

Listes liees php

Dernière réponse : dans Programmation

bonjour,
jaimerais avoir un code qui maffiche 2listes deroulantes liees en php sachant que l a1ere affiche la liste des wilaya a partir dune bd sqlserver et la seconde affiche la liste des communes relatives a la wilaya choisit en 1ere liste, le pb qui se pose est que la 1ere liste saffiche corrctement mais la seconde saffiche vide si vous avez une idee du pb ca me serait tres utile car je galere depuis un moment merci bcq
voici mon code


  1. <?php
  2.  
  3. require_once('conn.php');
  4. if(isset($_POST['captchaResult']))
  5. {
  6. session_start(); }
  7. ?>
  8. <html>
  9. <head>
  10. <title>Document sans titre</title>
  11. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  12. <script language="JavaScript" type="text/javascript">
  13. List = new Array();
  14. function Remplir(valeur){
  15. var sel="";
  16. sel ="<select size='1' name='souscat'>";
  17. // Parcourir le tableau
  18. for (var i=0;i<List.length;i++)
  19. {
  20. // tester si la ligne du tableau (Sous-catégorie) correspond à la valeur de la catéhorie
  21. if (List[i][1]==valeur)
  22. {
  23. // Ajouter une rubrique sous-catégorie au variable SEL
  24. sel= sel + "<option value="+List[i][0]+">"+List[i][2]+"</option>";
  25. }
  26.  
  27. }
  28. sel =sel + "</select>";
  29. // Modifier le DIV scat par la nouvelle List à partir du variable SEL
  30. document.getElementById('scat').innerHTML=sel;
  31. }
  32.  
  33. </script>
  34.  
  35. </head>
  36.  
  37. <body>
  38. <tr> <td>
  39. <select size="1" name="cat" dir="ltr" OnChange="Remplir(cat.value)">
  40.  
  41. <?php
  42. // Paramètres de la Connexion à la base MYSQL
  43.  
  44. $i=0; // variable de test
  45. $j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
  46.  
  47.  
  48. // Séléction de tous les enregistrements de la table Catégorie
  49. $query=odbc_exec ($sqlconnect,"SELECT * FROM wilaya order by id_wilaya");
  50.  
  51. while(odbc_fetch_into($query,$row))
  52. {
  53.  
  54. // Remplir la liste déroulante des catégorie
  55. echo "\t\t<option value=".($row[0]).">".($row[1])."</option>";
  56. if ($i==0) { $j=$row[0]; $i=1; } // garder la valeur du premier enregistrement
  57. }
  58.  
  59. // Séléction de tous les enregistrements de la table Sous-Catégorie
  60. $query=odbc_exec ($sqlconnect,"SELECT * FROM commune order by id_com");
  61.  
  62. while(odbc_fetch_into($query,$row))
  63. {
  64. // $i = initialise le variable i
  65. $i=0;
  66. while (odbc_fetch_row($query))
  67. {
  68. // Remplir le tableau (array) en javascript
  69. // ex : List[1]=new Array (1,1,"Sous-catégorie 1");
  70. // ex : List[2]=new Array (2,1,"Sous-catégorie 2");
  71. echo "<script>List[".$i."] = new Array(".($row[0]).",".($row[1]).",'".($row[2])."');</script>";
  72. $i=$i+1; // Incrémentation de $i
  73. }
  74. echo "<script>Remplir ($j); </script>"; // Remplir la deuxième liste de choix avec les données
  75. } // des sous-catégories en utilisant la valeur j
  76. ?>
  77. </select>
  78. </td></tr>
  79. <tr>
  80. <td width="">
  81. <div id="scat" dir="ltr">
  82. <select size="1" name="souscat" dir="ltr">
  83. </select>
  84. </div>
  85. </td></tr>
  86. </body>
  87. </html>



sachant que ma table wilaya contient 2 champs : wilayalib et id_wilaya et la table commune contient les champs suivant :
comlib,id_com,id_wilaya

merci bcq a vous

Autres pages sur : listes liees php

Lassé par la pub ? Créez un compte

bonjour; je vous remerci de me repondre , je viens de remplacer par onChange="Remplir(this.options[this.selectedIndex].value);">
et jai tjr le meme probleme qui persiste pourtant le code sexecute corretement sur une base my sql.
merci je vais revoir encore

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