Bonjour et bonne année,
J'ai trois listes déroulantes : pays, départements, villes.
Je veux que chaque liste s'incrémente suivant le choix fait dans la liste précédente en PHP.
J'ai trouvé une partie de la solution sans recharger la page :
<?php require_once('Connections/connect.php');
$SQL="SELECT * FROM ms_rech_pays";
$result = mysql_query($SQL);
?>
<script language="JavaScript"><!--
liste=new Array()
liste[0]=new Array("vide !","")
<?
while ($val = mysql_fetch_array($result)) {
$SQL2 = "select dpt_nom, num_dpt from ms_rech_departement where num_pays_dpt =";
$SQL2 .= $val["num_pays"];
$result2 = mysql_query($SQL2);
?>
liste[<?echo $val["num_pays"];?>]=new Array(<?
while ($val2 = mysql_fetch_array($result2))
echo "\"".$val2["dpt_nom"]."\",";
?>"")
<? }
?>
function changeliste() {
choix=document.monform.listeA.value
t="<select name='listeB'>"
for(i=0;i<liste[choix].length-1;i++)
t+="<option>"+liste[choix][i]+"</option>"
document.monform.listeB.outerHTML=t+"</select>"
}
--></script>
<form name="monform">
<select name="listeA" onChange=changeliste()>
<option value=0>Choisit une liste</option>
<?
mysql_data_seek($result,0); // movefirst
while ($val = mysql_fetch_array($result)) {
?>
<option value=<?echo $val["num_pays"];?>>Liste
<?
echo $val["pays"];?>
</option>
<? }
mysql_close(); ?>
</select>
<select name="listeB">
<option>vide !</option>
</select><br><br>
<input type="Submit" value="Envoyer">
</form>
le seul hic comment mettre mon num_dpt dans "option value" car pour l'instant je récupère que le nom du département et je ne peux rien en faire et comment implémenter ma troisième liste déroulante ?
Si vous avez une idée je vous en remercie par avance.
Charlie :-)