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

AJAX Discussion :

listes liées php et ajax


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut listes liées php et ajax
    bonjour,
    pour créer mes listes déroulantes liées j'ai pris un exemple que j ai modifié
    voici le 2 fichiers php
    concession.php
    Code html : 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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    <html>
    	<head>
    	<? 
    include("_connexion.php"); 
    ?>
     
    <html>
    	<head>
    		<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    		<script type='text/javascript'>
     
                            function getXhr(){
                                    var xhr = null; 
                                    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; 
                                    } 
                                    return xhr;
                            }
     
                            /**
                            * Méthode qui sera appelée sur le click du bouton
                            */
                            function go(){
                                    var xhr = 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('chass').innerHTML = leselect;
                                            }
                                    }
     
                                    // Ici on va voir comment faire du post
                                    xhr.open("POST","ajaxLivre.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 de l'auteur
                                    sel = document.getElementById('conc');
                                    idconc = sel.options[sel.selectedIndex].value;
                                    xhr.send(idconc);
                                    alert(idconc);
                            }
                    </script>
    	</head>
    	<body>
    		<form>
    			<fieldset style="width: 500px">
    				<legend>Liste liées</legend>
    				<label>Concessions</label>
    				<select name='conc' id='conc' onchange='go()'>
    					<option value='-1'>Aucun</option>
    					<?
                                                    $res = mysql_query("SELECT pseudo FROM client where pseudo LIKE 'GEMY%' ORDER BY pseudo");
                                                    while($row = mysql_fetch_assoc($res)){
                                                            echo "<option value='".$row["pseudo"]."'>".$row["pseudo"]."</option>";
                                                    }
                                            ?>
    				</select>
    				<label>Chassis</label>
    				<div  style='display:inline'>
    				<select name='chass' id='chass'>
    					<option value='-1'>Aucun</option>
    				</select>
    				</div>
    			</fieldset>
    		</form>
    	</body>
    </html>

    chassis.php
    Code php : 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
    <? 
    include("_connexion.php"); 
    ?>
    <?php
    	echo "<select name='chass'>";
    	if(isset($_POST['idconc'])){
    		$res = mysql_query("SELECT type,chassis FROM vn
    			WHERE client=".$_POST['idconc']." order by type");
    		while($row = mysql_fetch_assoc($res)){
    			echo "<option value='".$row["chassis"]."'>".$row["chassis"]."</option>";
    		}
    	}else{
    		echo "passe pas";
    	}
    	echo "</select>";
    ?>

    ma première liste fonctionne mais la variable $_POST ne passe pas ?

    je débute avec ajax ce n'est pas très clair
    si quelqu'un peut m'aiguiller
    merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut RE
    Bjr, voici le résultat qui fonctionne
    pour ceux qui vont chercher comme moi

    premier fichier concession.php
    Code html : 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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    <html>
    	<head>
    	<? 
    include("_connexion.php"); 
    ?>
     
    <html>
    	<head>
    		<title>Tutoriel Ajax (XHTML + JavaScript + XML)</title>
    		<script type='text/javascript'>
     
                            function getXhr(){
                                    var xhr = null; 
                                    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; 
                                    } 
                                    return xhr;
                            }
     
                            /**
                            * Méthode qui sera appelée sur le click du bouton
                            */
                            function go(){
                                    var xhr = 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('chass').innerHTML = leselect;
                                            }
                                    }
     
                                    // Ici on va voir comment faire du post
                                    xhr.open("POST","chassis.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 concessionnaire
                                    sel = document.getElementById('conc');
                                    idconc = sel.options[sel.selectedIndex].value;
                                    xhr.send("idconc="+idconc);
                            }
                    </script>
    	</head>
    	<body>
    		<form>
    			<fieldset style="width: 500px">
    				<legend>Liste liées</legend>
    				<label>Concessions</label>
    				<select name='conc' id='conc' onchange='go()'>
    					<option value='-1'>Aucun</option>
    					<?
                                                    $res = mysql_query("SELECT pseudo FROM client where pseudo LIKE 'GEMY%' ORDER BY pseudo");
                                                    while($row = mysql_fetch_assoc($res)){
                                                            echo "<option value='".$row["pseudo"]."'>".$row["pseudo"]."</option>";
                                                    }
                                            ?>
    				</select>
    				<label>Choix du Chassis</label>
    				<div  id='chass' style='display:inline'>
    				<select name='chass'>
    					<option value='-1'>Aucun</option>
    				</select>
    				</div>
    			</fieldset>
    		</form>
    	</body>
    </html>

    fichier appele
    chassis.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <? 
    include("_connexion.php"); 
    ?>
    <?php	
     
     
    echo "<select name='chass'>";
    		$res = mysql_query("SELECT chassis FROM vn
    			WHERE client='$_POST[idconc]' and datesortie='0000-00-00'");
    		while($row = mysql_fetch_assoc($res)){
    			echo "<option value='".$row["chassis"]."'>".$row["chassis"]."</option>";
    		}
     
    echo "</select>";
    ?>

    mon erreur venait de la donnée non référencée envoyée !IMPORTANT
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xhr.send("idconc="+idconc);

  3. #3
    Membre éclairé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Par défaut RE mettre la valeur de la liste dans une variable
    RE: après la mise au point de mes listes imbriquées j'ai besoin d'affecter à une variable le résultat de ma deuxième liste pour éffctuer
    une requête à la suite !!! (voir fichier chassis.php)
    j'ai besoin d'info
    merci

Discussions similaires

  1. [AJAX] Listes liées PHP/Ajax mais aussi BDD
    Par Ludie_Devcom dans le forum jQuery
    Réponses: 3
    Dernier message: 27/03/2014, 09h57
  2. [AJAX] 3 listes déroulantes liées PHP/MYSQL/AJAX
    Par zied.ellouze dans le forum AJAX
    Réponses: 2
    Dernier message: 06/09/2011, 12h58
  3. Listes Liées Struts 2 Ajax
    Par cyclopsnet dans le forum Struts 2
    Réponses: 1
    Dernier message: 04/04/2010, 16h36
  4. Listes liées php/ajax/javasript
    Par johnson95 dans le forum Langage
    Réponses: 3
    Dernier message: 21/04/2008, 16h24

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