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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    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
    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 averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    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
    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 averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 47
    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