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 :

[AJAX] Lier une liste avec un tableau avec Ajax


Sujet :

AJAX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 21
    Points
    21
    Par défaut [AJAX] Lier une liste avec un tableau avec Ajax
    je veux lier une table avec un tableau
    c a d recuperer mes donnees depuis ma base et les afficher suit a l evenement Onchange de mon select

    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
    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){
                        document.getElementById('method').innerHTML='Chargement en cours'}
                            else
                             {document.getElementById('method').innerHTML=xhr.responseText}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajax_consulter_methode.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('methode');
    				idMethode = sel.options[sel.selectedIndex].value);
    				xhr.send("idmethode="+idMethode);
    			}
    mon select
    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
    <select name='methode' id='methode' onchange='go()'>
    					<option value='-1'>Choisir une methode</option>
    					<?
    						mysql_connect("localhost","root","");
    						mysql_select_db("assvisual");
    						$res = mysql_query("SELECT nom FROM methode ORDER BY idmethode");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["idmethode"]."'>".$row["nom"]."</option>";
    						}
    					?>
    				</select>
    <h3>Renseignements de la methode</h3>
    				<?php
                                    //On se connecte
                                    connectMaBase();
                                    // requête SQL qui compte le nombre total d'enregistrements dans la table et qui
                                    //récupère tous les enregistrements
                                    $select = 'SELECT idmethode,nom,description,lien FROM methode';
                                    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
                                    $total = mysql_num_rows($result);
     
                                    // si on a récupéré un résultat on l'affiche.
                                    if($total) {
                                // début du tableau
                                    echo '<div id="method">';
                                echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
                                    echo '<tr>';
                                echo '<td bgcolor="#669999" width="101">IdMethode</td>';
                                echo '<td bgcolor="#669999" width="101">Nom</td>';
                                echo '<td bgcolor="#669999" width="140">Description</td>';
                                echo '<td bgcolor="#669999" width="145">Lien</td>';
                                    echo '</tr>'."\n"; 
                                      // lecture et affichage des résultats sur * colonnes, 1 résultat par ligne.
                                while($row = mysql_fetch_array($result)) {
                                echo '<tr>';
                                echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
                                echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
                                    echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
                                    echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
                                echo '</tr>'."\n";
                            }
                                echo '</table>'."\n";
                                // fin du tableau.
                                echo '</div>';
                                    }
                                    else echo 'Pas d\'enregistrements dans cette table...';
     
                                    // on libère le résultat
                                    mysql_free_result($result);
                                    ?>
    mon script 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
    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
    <?php
     
    	header('Content-Type: text/plain; charset=ISO-8859-1');
    	if(isset($_POST["idmethode"])){
    	$idmethode=$_POST['idmethode'];
     
    	//On se connecte
    	mysql_connect("localhost","root","");
    	mysql_select_db("assvisual");
     
    //Premier tableau (table methode)
    //
    	// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
    	//récupère tous les enregistrements
    	$select = 'SELECT idmethode,nom,description,lien FROM methode where idmethode="$idmethode"';
    	$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    	$total = mysql_num_rows($result);
    	// si on a récupéré un résultat on l'affiche.
    	if($total) {
        // début du tableau
        echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
    	echo '<tr>';
    	echo '<td bgcolor="#669999" width="101">IdMethode</td>';
    	echo '<td bgcolor="#669999" width="101">Nom</td>';
    	echo '<td bgcolor="#669999" width="140">Description</td>';
    	echo '<td bgcolor="#669999" width="145">Lien</td>';
    	echo '</tr>'."\n"; 
    	// lecture et affichage des résultats sur * colonnes, 1 résultat par ligne.
    	while($row = mysql_fetch_array($result)) {
    	echo '<tr>';
    	echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
    	echo '</tr>'."\n";
        }
    	echo '</table>'."\n";
    	// fin du tableau.
    	}
    	else echo 'Pas d\'enregistrements dans cette table...';
    	// on libère le résultat
    	mysql_free_result($result);

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,
    $res = mysql_query("SELECT nom FROM methode ORDER BY idmethode");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("SELECT nom,idmethode FROM methode ORDER BY idmethode");
    $select = 'SELECT idmethode,nom,description,lien FROM methode where idmethode="$idmethode"';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = 'SELECT idmethode,nom,description,lien FROM methode where idmethode=\'$idmethode\'';

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    mon Script js
    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
    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(idMethode){
    				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){
                        document.getElementById('method').innerHTML='Chargement en cours'}
                            else
                             {document.getElementById('method').innerHTML=xhr.responseText}
    				}
     
    				// Ici on va voir comment faire du post
    				xhr.open("POST","ajax_consulter_methode_01.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
    				xhr.send("idmethode="+idMethode);
    			}
    mon script 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
    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
    <?php
     
    	header('Content-Type: text/plain; charset=ISO-8859-1');
     
    	//On se connecte
     
        if(isset($_POST["idmethode"])){
    	mysql_connect("localhost","root","");
    	mysql_select_db("assvisual");
    //Premier tableau (table methode)
    //
    	// requête SQL qui compte le nombre total d'enregistrements dans la table et qui
    	//récupère tous les enregistrements
    	$select = 'SELECT idmethode,nom,description,lien FROM methode where idmethode=\'$idmethode\'';
    	$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
    	$total = mysql_num_rows($result);
    	// si on a récupéré un résultat on l'affiche.
    	if($total) {
        // début du tableau
        echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
    	echo '<tr>';
    	echo '<td bgcolor="#669999" width="101">IdMethode</td>';
    	echo '<td bgcolor="#669999" width="101">Nom</td>';
    	echo '<td bgcolor="#669999" width="140">Description</td>';
    	echo '<td bgcolor="#669999" width="145">Lien</td>';
    	echo '</tr>'."\n"; 
    	// lecture et affichage des résultats sur * colonnes, 1 résultat par ligne.
    	while($row = mysql_fetch_assoc($result)) {
    	echo '<tr>';
    	echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
    	echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
    	echo '</tr>'."\n";
        }
    	echo '</table>'."\n";
    	// fin du tableau.
    	}
    	else echo 'Pas d\'enregistrements dans cette table...';
    	// on libère le résultat
    	mysql_free_result($result);
    	}
    ?>
    ma page principale :
    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
    <?php
    include 'Includes/connection.php';
    ?>
     
    <html>
    	<head>
    		<title>Renseignements sur les méthodes</title>
    		<script type="text/javascript" src="ajax_lier_tabliste.js"></script>
    	</head>
    	<body>
    		<form>
    			<fieldset style="width: 1070px">
    				<legend>Veuillez choisir une methode :</legend>
    				<label>La methode selectionnez est :</label>
    				<select name='methode' id='methode' onchange="javascript:go(document.getElementById('methode').options[document.getElementById('methode').selectedIndex].value);">
    					<option value='-1'>Choisir une methode</option>
    					<?
    						mysql_connect("localhost","root","");
    						mysql_select_db("assvisual");
    						$res = mysql_query("SELECT nom,idmethode FROM methode ORDER BY idmethode");
    						while($row = mysql_fetch_assoc($res)){
    							echo "<option value='".$row["idmethode"]."'>".$row["nom"]."</option>";
    						}
    					?>
    				</select>
    				<h3>Renseignements de la methode</h3>
    				<?php
                                    //On se connecte
                                    connectMaBase();
                                    // requête SQL qui compte le nombre total d'enregistrements dans la table et qui
                                    //récupère tous les enregistrements
                                    $select = 'SELECT idmethode,nom,description,lien FROM methode';
                                    $result = mysql_query($select) or die ('Erreur : '.mysql_error() );
                                    $total = mysql_num_rows($result);
     
                                    // si on a récupéré un résultat on l'affiche.
                                    if($total) {
                                // début du tableau
                                    echo '<div id="method">';
                                echo '<table align="center" width="728" border="0" bgcolor="#FFFFFF">'."\n";
                                    echo '<tr>';
                                echo '<td bgcolor="#669999" width="101">IdMethode</td>';
                                echo '<td bgcolor="#669999" width="101">Nom</td>';
                                echo '<td bgcolor="#669999" width="140">Description</td>';
                                echo '<td bgcolor="#669999" width="145">Lien</td>';
                                    echo '</tr>'."\n"; 
                                      // lecture et affichage des résultats sur * colonnes, 1 résultat par ligne.
                                while($row = mysql_fetch_array($result)) {
                                echo '<tr>';
                                echo '<td bgcolor="#CCCCCC">'.$row['idmethode'].'</td>';
                                echo '<td bgcolor="#CCCCCC">'.$row['nom'].'</td>';
                                    echo '<td bgcolor="#CCCCCC">'.$row['description'].'</td>';
                                    echo '<td bgcolor="#CCCCCC">'.$row['lien'].'</td>';
                                echo '</tr>'."\n";
                            }
                                echo '</table>'."\n";
                                // fin du tableau.
                                echo '</div>';
                                    }
                                    else echo 'Pas d\'enregistrements dans cette table...';
     
                                    // on libère le résultat
                                    mysql_free_result($result);
                                    ?>
     
     
    			</fieldset>
    		</form>
    	</body>
    </html>
    tou marche normal mais un probleme est que le script apres execution ne donne pas le resultat de ma requete
    il donne le message d'alert : Pas d'enregistrements dans cette table...

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    tou marche normal mais un probleme est que le script apres execution ne donne pas le resultat de ma requete
    il donne le message d'alert : Pas d'enregistrements dans cette table...
    Je ne comprend pas, il n'y a pas d'alert dans le javascript!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $idmethode=$_POST['idmethode']
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $select = "SELECT idmethode,nom,description,lien FROM methode where idmethode='".$_POST['idmethode']."'";

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    Merci bcp bcp

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

Discussions similaires

  1. [XL-2002] Lier une liste avec un index
    Par sergio_gr66 dans le forum Excel
    Réponses: 0
    Dernier message: 13/06/2011, 20h51
  2. [WD11] Lier une liste multi-select avec une rubrique?
    Par LeGugusse dans le forum WinDev
    Réponses: 6
    Dernier message: 15/12/2008, 11h49
  3. [AJAX] lier deux listes avec AJAX
    Par batoule80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/09/2008, 01h35
  4. [AJAX] Remplir une liste déroulante avec la réponse du réquête d'Ajax
    Par duppp2000 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 05/12/2007, 16h28
  5. [AJAX] Lier une liste déroulant à un champ texte
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 13/04/2007, 14h50

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