IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Listes liées : la 2ème ne se remplit pas


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Listes liées : la 2ème ne se remplit pas
    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

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function chercheCodePostal(inputString) {
    	var temp = $("commune").val();
     
    	$.ajax({
    		type: "POST",
    		url: "select_commune.php",
    		data: "var"+inputString,
    ...
    et ensuite tu fais dans ton PHP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $var=$_POST['commune'];
    ...
    tu ne récupères pas (ou tu ne passes pas) la bonne donnée.

    Modifie ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function chercheCodePostal(inputString) {
    	var temp = $("commune").val();
    		
    	$.ajax({
    		type: "POST",
    		url: "select_commune.php",
    		data: "commune="+inputString,
    ...

    ERE

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    effectivement ça marche beaucoup mieux ^^

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AJAX] 3 Listes liées : la dernière ne s'affiche pas.
    Par péhachepé dans le forum AJAX
    Réponses: 2
    Dernier message: 28/02/2011, 12h29
  2. Réponses: 16
    Dernier message: 25/03/2010, 10h09
  3. [MySQL] 2 listes déroulantes liées contenu mysql et comment ne pas afficher une exception
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2009, 13h45
  4. [AJAX] 2 listes liées + affiche Var en fonction de la 2ème
    Par fred_hot dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 07/02/2009, 00h27
  5. Zone de liste qui se remplit pas
    Par illight dans le forum IHM
    Réponses: 2
    Dernier message: 28/04/2008, 10h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo