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
<?php
require_once('conn.php');
if(isset($_POST['captchaResult']))
{
session_start(); }
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/javascript">
List = new Array();
function Remplir(valeur){
var sel="";
sel ="<select size='1' name='souscat'>";
// Parcourir le tableau
for (var i=0;i<List.length;i++)
{
// tester si la ligne du tableau (Sous-catégorie) correspond à la valeur de la catéhorie
if (List[i][1]==valeur)
{
// Ajouter une rubrique sous-catégorie au variable SEL
sel= sel + "<option value="+List[i][0]+">"+List[i][2]+"</option>";
}
}
sel =sel + "</select>";
// Modifier le DIV scat par la nouvelle List à partir du variable SEL
document.getElementById('scat').innerHTML=sel;
}
</script>
</head>
<body>
<tr> <td>
<select size="1" name="cat" dir="ltr" OnChange="Remplir(cat.value)">
<?php
// Paramètres de la Connexion à la base MYSQL
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
// Séléction de tous les enregistrements de la table Catégorie
$query=odbc_exec ($sqlconnect,"SELECT * FROM wilaya order by id_wilaya");
while(odbc_fetch_into($query,$row))
{
// Remplir la liste déroulante des catégorie
echo "\t\t<option value=".($row[0]).">".($row[1])."</option>";
if ($i==0) { $j=$row[0]; $i=1; } // garder la valeur du premier enregistrement
}
// Séléction de tous les enregistrements de la table Sous-Catégorie
$query=odbc_exec ($sqlconnect,"SELECT * FROM commune order by id_com");
while(odbc_fetch_into($query,$row))
{
// $i = initialise le variable i
$i=0;
while (odbc_fetch_row($query))
{
// Remplir le tableau (array) en javascript
// ex : List[1]=new Array (1,1,"Sous-catégorie 1");
// ex : List[2]=new Array (2,1,"Sous-catégorie 2");
echo "<script>List[".$i."] = new Array(".($row[0]).",".($row[1]).",'".($row[2])."');</script>";
$i=$i+1; // Incrémentation de $i
}
echo "<script>Remplir ($j); </script>"; // Remplir la deuxième liste de choix avec les données
} // des sous-catégories en utilisant la valeur j
?>
</select>
</td></tr>
<tr>
<td width="">
<div id="scat" dir="ltr">
<select size="1" name="souscat" dir="ltr">
</select>
</div>
</td></tr>
</body>
</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