Bonjour à tous,

Donc mon problème depuis ce matin (je perds pas espoir ) est le suivant : je souhaite avoir une liste avec les codes postaux (celle-ci se charge au chargement de la page). On choisit un code parmi eux, la seconde liste s'affiche alors, comprenant les communes reliées à ce code postal.

voici un bout de l'index de ma page :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<form>
	<label>Habitation :</label>
       <select name="codePostal" id="codePostal" onchange="chercheCodePostal(this.value)">	
	        <option value="void">Choisir son code postal</option>
		<?php require_once("select_codePostal.php"); ?>
	</select>
	<select name="commune" id="commune">
		<option value="void">Choisir sa commune</option>
	</select>
</form>
voici mon script PHP select_codePostal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
<?php
	$db = new mysqli('localhost', 'root' ,'', 'test');
	if(!$db) {
		echo 'ERREUR: Ne peut se connecter à la bdd.';
	} 
	else {
		$query = $db->query("SELECT cnecodepostal FROM commune ORDER BY cnecodepostal");
		if($query) {
			while ($result = $query ->fetch_object()) {
				echo "<option value=\"$result->cnecodepostal\">$result->cnecodepostal</option>";
			}
		} 
	}
	mysqli_close($db);
?>
La première liste se remplit sans soucis, la requête est bonne bref, ça roule ! Mais ça se complique avec le reste...

Mon petit bout de JS (je précise que je tente de travailler avec la librairie jQuery) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
function chercheCodePostal(inputString) {
	var temp = $("commune").val();
 
	$.ajax({
		type: "POST",
		url: "select_commune.php",
		data: "var"+inputString,
		success: function(data) {
					$("#commune").html(data);
					if(selected=="void") $("#commune").hide();
							else $("#commune").show();
		             }
		});
	}
et enfin mon script PHP select_commune :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
	$db = new mysqli('localhost', 'root' ,'', 'test');
	if(!$db) {
		echo 'ERREUR: Ne peut se connecter à la bdd.';
	} 
	else {
		$var=$_POST['commune'];
		$query = $db->query("SELECT cneintitule FROM commune WHERE cnecodepostal='$var' ORDER BY cneintitule");
		if($query) {
			while ($result = $query ->fetch_object()) {
				echo "<option value=\"$result->cneintitule\">$result->cneintitule</option>";
			}
		} 
	}
	mysqli_close($db);
?>
Peut-être y verrez vous plus clair que moi sur le sujet.
J'ai tout de même l'impression que ça se passe au niveau de la valeur du code postal que l'on choisit ($var). La requête ne donne rien, pourtant elle fonctionne (après l'avoir testée avec phpmyadmin)...

Merci pour l'aide/les conseils que vous m'apporterez
Cécile