Une fois de plus merci pour votre reaction de plus en plus contributible à une evantuelle solution et pour etre plus concret je vais vous expliquer ce que je suis entrain de faire j'ai trois table dans mysql qui sont Region ou province comme vous voulez, une autre Departements et enfin une troisième Ville qui font reference à un pays Africain donc je suis entrain de developper un site pour. J'ai un premier menu Province un deuxieme Department et un Dernier Ville. et j'ai les formulaire suivant : index.php, traitement_departement.php, traitement_ville.php.
dans le formulaire index.php on a l'extrait de code suivant :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Province et vile </title>
<script type='text/javascript'>
function dpt(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('Departements').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","traitement_departement.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
sel = document.getElementById('Provinces');
idregion = sel.options[sel.selectedIndex].value;
xhr.send("Refregion=" + idregion);
}
function ville(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('Villes').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","traitement_ville.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded')
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
sel = document.getElementById('Departements');
idpt = sel.options[sel.selectedIndex].value;
xhr.send("RefDPT=" + idpt);
}
</script>
</head>
<body>
<form id="form3">
<fieldset style="width: 1000px">
<legend>Liste liees</legend>
<label>Provinces</label>
<select name='Provinces' id='Provinces' onchange='dpt'>
<option value='-1'>Selectionner une province</option>
<?php
mysql_connect(localhost, root, 101010);
mysql_select_db(discount);
$query = mysql_query("SELECT * FROM province ORDER BY Region ASC");
while ($back = mysql_fetch_assoc($query)) {
echo "\t\t\t\t<option value=\"" . $back["codePro"] . "\">" . $back["Region"] . "</option>\n";
}
?>
</select>
<label>Les Departements</label>
<div id='Departements' style='display:inline'>
<select name='Departements' onchange='ville()'>
<option value='-1'>Selectionnez un département</option>
</select>
</div>
<br/>
</select>
<label>Les Villes</label>
<div id='Villes' style='display:inline'>
<select name='Villes'>
<option value='-1'>Selectionnez une ville</option>
</select>
</div>
</form>
</body>
</html>
dans le formulaire traitement_departement.php on a l'extrait de code suivant :
<?php
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo "<select name='Departements' onchange='ville()'>";
if(isset($_POST["Refregion"])){
mysql_connect(localhost, root, 101010);
mysql_select_db(discount);
$res = mysql_query("SELECT * FROM departement
WHERE Refregion=".$_POST["Refregion"]." ORDER BY departement");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["codeDPT"]."'>".$row["Departement"]."</option>";
}
}
echo "</select>";
?>
dans le formulaire traitement_villes.php on a l'extrait de code suivant :
<?php
header("Content-Type: text/xml");
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
echo "<select name='Villes'>";
if(isset($_POST["RefDPT"])){
mysql_connect(localhost, root, 101010);
mysql_select_db(discount);
$res = mysql_query("SELECT * FROM ville
WHERE RefDPT=".$_POST["RefDPT"]." ORDER BY Villes");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["CodeVille"]."'>".$row["Villes"]."</option>";
}
}
echo "</select>";
?>
pas de soucis pour Les departements en fonction du choix effectué dans le menu province.
le probleme c'est : les villes en fonction du choix effectué dans le menu departements une fois qu il est chargé par le choix effectué dans le premier menu province.
merci d'avance pour vos diverses reactions