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 :
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 <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>
La première liste se remplit sans soucis, la requête est bonne bref, ça roule ! Mais ça se complique avec le reste...
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); ?>
Mon petit bout de JS (je précise que je tente de travailler avec la librairie jQuery) :
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 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(); } }); }
Peut-être y verrez vous plus clair que moi sur le sujet.
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); ?>
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
Partager