Bonjour,
J'aimerais faire un formulaire pour réaliser une chose dans le genre :
Code HTML :
http://www.topannonces.fr/petites-annonces--ile-de-france.html
Une combobox (select) avec la liste des regions
Lorsque l'on choisi une region, on à une autre combo avec la liste des départements.
J'ai une base de données
J'ai testé avec javascript (XMLHttpRequest) mais ca n'a pas l'air de fonctionner.
Ce qui me dérange c'est le fait de passer par de l'ajax.
Y'a t'il une autre solution efficace et rapide ?
Si non, comment implémenter celle là ? (rien ne fonctionne chez moi)
Voici mon code :
Code Javascript :
function sendData(param, page)
{
if(document.all)
{ //Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}
else
{ //Mozilla
var XhrObj = new XMLHttpRequest();
}
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{
if (XhrObj.readyState == 4 && XhrObj.status == 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}
HTML (ma page = home.inc.php qui est un include dans index.php)
Code HTML :
<select id="region" name="reg" size="1" OnChange="openWithPostData('id='+this.value','home.inc.php')">
//id= sera la valeur récupérée par mon code php ($_post) //
Code PHP :
if(isset($_POST['id']) && !empty($_POST['id']) ){
$id_reg=$_POST['id'];
$rq="SELECT * FROM departement WHERE num_reg_dep=$id_reg ORDER BY nom_dep";
$result= mysql_query ($rq) or die ("Select impossible");
echo "<select size='1' name='souscat'>";
while ($dt=mysql_fetch_row($result))
{
echo "<option value=".$dt[0].">".$dt[2]."</option><br>";
}
echo "</select>";
}
Voilà, merci de votre aide.