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] Afficher résultat de requête SQL en fonction d'un choix de liste select


Sujet :

AJAX

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 30
    Points
    30
    Par défaut [AJAX] Afficher résultat de requête SQL en fonction d'un choix de liste select
    Salut vous tous,

    Je sais que la réponse à ma question est quelque part, mais j'ai beau parcourir les FAQ, tutos et autres questions déjà posées, je sèche.

    C'est très simple :
    -j'ai ma page principale qui contient une liste (SELECT) alimentée par une requête SQL (ça, c'est bon)
    -en fonction de ce que l'on choisi dans cette liste, je voudrais que le contenu de ma base SQL s'affiche en dessous. Enfin, juste la ligne concernée par le choix.

    Je sais qu'il faut utiliser AJAX et notemment le .post de jQuery, mais là, ça marche pas.

    Voici mon code :
    Page principale :
    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
    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
    <?php
    /******Demarrage session******/
     
    include("../include/session.php"); //contient tout ce qui connecte à la DB
     
    /********Entete et titre de page*********/
     
    include('../include/haut.php'); //contient le doctype, et head avec appel de jQuery
     
    ?>
    <script type="text/javascript" src="../js/jquery.js"></script>
    <script>
    $(document).ready(function() {
    	$('select#choix').change(function(){
    		$.post('AJAXCALL.php', function(data) {
    			$('#test').html(data).setTimeout(400);;
    		});
    	});
    });
    </script>
     
     
    <body>
     <fieldset class="parts">
    <legend>PART</legend>
     
    <div class= "col1">
    <label>Part Number : </label>
    <select name="choix" id="choix">
    <option value="" />Choose</option>
    <?php 
    $Comp = mysql_query("SELECT * FROM RC_PARTS"); // on appelle la table pour extraire la liste des parts
    while( $valcomp = mysql_fetch_array($Comp)) 
    {
     
     echo  "<option value=\"".$valcomp['RCpn']."\"";
    // if ($RC_comp_id==$val['RC_comp_id']){echo " selected";} 
     echo "/>".$valcomp['RCpn']." - ".$valcomp['RCpndesc']."</option>";
     
    }
    ?>
    </select>
     
    </div>
    <div class="spacer"></div>
    <div class="spacer"></div>
    <br>
    </fieldset>
     
              <div id="test" class="separtdoc"></div> 
     
    </body>
    </html>

    Et voilà mon fichier php qui appelle le résultat et le renvoie :
    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
    <?php
    include('../include/session.php');
    $choix = $_POST['choix'];
    $sql = "SELECT * FROM RC_PARTS WHERE RCpn='".$choix."'";
    $req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
    mysql_set_charset('utf8'); 
    while($data = mysql_fetch_array($req)){ ?>
     
    	<tr>
    	<td>
        <div id="docpdf" class="separtdoc">
        <?php echo $data['RCpn']; //là je renvoie ce que je veux sortir de la DB
    ?>
        </div> 
        </td></tr>
    <?php } ?>

    Je sais que le problème vient de ma syntaxe de .post, que j'ai pompé quelque part, mais après lecture de la doc de jQuery je n'arrive pas à trouver la bonne qui renvoie la valeur du select..Une idée quelqu'un ?

    Merci d'avance !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur après-vente
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 30
    Points
    30
    Par défaut
    Je me réponds à moi-même pour la communauté :
    -du côté de ma page, on utilise la fonction .post comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $(document).ready(function() {
    	$('select#liste').change(function(){ //si on sélectionne un truc dans la liste
    	$.post('AJAXCALL.php',   //on appelle le fichier AJAXCALL.php
                    {choix: $("#liste").val()}, //on lui envoie la valeur du choix de la liste
                    function(data) {      
    		        $("#result").html(data); //et on récupère le résultat html du fichier
                    });
    	});
    });
    et du côté AJAXCALL.php :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    include('../include/session.php');
    //print_r($_POST); //debug pour comprendre comme ça marche
    $choix = $_POST['choix'];
    $sql = "SELECT * FROM RC_PARTS WHERE RCpn='".$choix."'";
    $req = mysql_query($sql) or die('erreur de connexion'.mysql_error()); 
    mysql_set_charset('utf8'); 
    while($data = mysql_fetch_array($req)){ 
        echo '<div class= "col1">
        <label>Part Number : </label>'.$data['choix'].'</div>';
    } ?>

    Merci à tous pour votre implication et votre aide précieuse ! (ah nan merde, c'est pas là )

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

Discussions similaires

  1. [AJAX] Afficher résultat requête SQL avec ajax
    Par Kevfou dans le forum AJAX
    Réponses: 2
    Dernier message: 01/11/2011, 16h54
  2. Afficher les résultats des requêtes SQL
    Par Glauben dans le forum NetBeans
    Réponses: 4
    Dernier message: 04/07/2011, 19h35
  3. [AJAX] Afficher résultat sql à la volée
    Par patrice.salem dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/12/2008, 13h33
  4. [SQL] Requête SQL en fonction d'un choix de listbox
    Par Lenezir dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/11/2007, 16h08
  5. [MySQL] Filtrage par ma requête sql en fonction du résultat d'un combo box
    Par digger dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/02/2006, 17h25

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