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 !
Partager