Voila mon problème est le suivant, j'ai deux listes déroulante alimenté par une base de donnée.
Lorsque je choisi une valeur dans la première liste la deuxiéme affiche les résultats concordants.
Mon probléme et que lorsque j'envoi les données sur une autre page ( en POST ou en GET) la valeur de la deuxieme liste est introuvable.
Voici mon code :
<SCRIPT language="JavaScript">
List = new Array();
function Remplir(valeur){
var sel="";
sel =" <select size='1' style='width:150px' 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>
<select style="width:150px" size="1" name="cat" OnChange="Remplir(cat.value)">
<?php
// Paramètres de la Connexion à la base MYSQL
include("connexauto.php");
$i=0; // variable de test
$j=0; // variable pour garder la valeur du premier enregistrement catégorie pour l'affichage
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
// Séléction de tous les enregistrements de la table Catégorie
$rq="Select * from marque_auto order by id_cat;";
$result= mysql_query ($rq) or die ("Select impossible");
while ($dt=mysql_fetch_row($result))
{
// Remplir la liste déroulante des catégorie
echo "\t\t<option value=".($dt[0]).">".($dt[1])."</option>";
if ($i==0) { $j=$dt[0]; $i=1; } // garder la valeur du premier enregistrement
}
?>
</select><br>
</td>
</tr>
<tr>
<td align="right" height="35"><b>* Modèle :</b></td>
<td>
<DIV id="scat">
<select size="1" name="souscat">
</select>
</DIV>
<?php
// Séléction de tous les enregistrements de la table Sous-Catégorie
$rq="Select * from type_auto order by id_scat;";
$result= mysql_query ($rq) or die ("Select impossible");
// $i = initialise le variable i
$i=0;
while ($dt=mysql_fetch_row($result))
{
// 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(".($dt[0]).",".($dt[1]).",'".($dt[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
?>
Cela fait plusieur jour que je cherche une solution sans résultat... Si quelqu'un pourrais me donner un petit cou de pousse ce serai sympa.
Merci beaucoup et bonne journée