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 :

[AJAX] liste liée ajax: s'iou plait, cherchez l'erreur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut [AJAX] liste liée ajax: s'iou plait, cherchez l'erreur
    J'ai utilisé la méthode exposée dans le tuto de siddh mais j'ai transposé à une table tb_pays et une table tb_ville....

    j'ai beau cherché l'erreur, ma seconde liste est toujours vide quand je choisis un pays....

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php include("haut.php") ; // contient la connexion avec la base ?>
    <div id="corps">
    		<script type='text/javascript'>
    			var xhr = null; 
     
    			function getXhr(){
    				if(window.XMLHttpRequest) // Firefox et autres
    				   xhr = new XMLHttpRequest(); 
    				else if(window.ActiveXObject){ // Internet Explorer 
    				   try {
    			                xhr = new ActiveXObject("Msxml2.XMLHTTP");
    			            } catch (e) {
    			                xhr = new ActiveXObject("Microsoft.XMLHTTP");
    			            }
    				}
    				else { // XMLHttpRequest non supporté par le navigateur 
    				   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    				   xhr = false; 
    				} 
    			}
     
    			/**
    			* Méthode qui sera appelée sur le click du bouton
    			*/
    			function go(){
    				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('ville').innerHTML = leselect;
    					}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajaxville.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 du pays
    				sel = document.getElementById('pays');
    				idpays = sel.options[sel.selectedIndex].value;
    				xhr.send("id_pays="+idpays);
    			}
    		</script>
    		<form>
    			<fieldset>
    				<legend>lieux:</legend>
    				<label>pays</label>
    				<select name='pays' id='pays' onchange='go()'>
    					<option value='-1'>Aucun</option>
    					<?
    						$res = mysql_query("SELECT * FROM tb_pays ORDER BY id_pays");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["id_pays"]."'>".$row["pays"]."</option>";
    						}
    					?>
    				</select>
    				<label>ville</label>
    				<div id='ville' style='display:inline'>
    				<select name='ville'>
    					<option value='-1'>Choisir un pays</option>
    				</select>
    				</div>
    			</fieldset>
    		</form>
    	</div>
     
    <?php include("bas.php") ?>
    et le fichier ajaxville.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    	echo "<select name='ville'>";
    	if(isset($_POST["id_pays"])){
    		$id_pays = $_POST["id_pays"];
    		mysql_connect("localhost","root","");
    		mysql_select_db("base_setlist");
    		$res = mysql_query("SELECT * FROM tb_ville WHERE id_pays = $idpays ORDER BY ville");
    		while($row = mysql_fetch_assoc($res))
    		{
    			echo "<option value='".$row["id_ville"]."'>".$row["ville"]."</option>";
    		}
    	}
    	echo "</select>";
    ?>
    autre question: le tuto précise qu'il ne contient pas tous les controles notamment PHP, quel genre de controle peut on rajouter?

    merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    personne pour controler? please!

    merci!

  3. #3
    Membre éprouvé Avatar de rieppe
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2004
    Messages : 115
    Par défaut
    Salut, j'ai eu des problèmes avec le même tuto : http://www.developpez.net/forums/sho...d.php?t=193224

    Un autre post : http://www.developpez.net/forums/sho....php?p=1363127

    Concernant les controles, toutes tes fonctions mysql_* renvoient un code d'éxecution. Souvent true ou false qui te permettent de savoir si quelque chose se passe mal au niveau de la BDD.

    Rieppe.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 120
    Par défaut
    merci beaucoup, je m'y mets de ce pas!

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

Discussions similaires

  1. [AJAX] Liste liées Ajax
    Par Invité dans le forum AJAX
    Réponses: 52
    Dernier message: 06/04/2010, 11h14
  2. listes liées ajax + servlet/jsp => optimisation
    Par erox44 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 30/06/2009, 10h45
  3. [AJAX] 3 Listes liées Ajax
    Par Alice_B dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 31/07/2008, 10h40
  4. Utilisation des liste liées (ajax) avec du perl
    Par Jim_Nastiq dans le forum Web
    Réponses: 1
    Dernier message: 12/07/2006, 12h07
  5. [AJAX]Listes liées multiples
    Par Schuss dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 27/06/2006, 16h31

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