Bonjour,
Ca fait plus d'une semaine que je galère à me faire 3 foutues listes chaînées de m*rde, je suis à bout, il faut que je post sur developpez.net avant que je me défenêstre
Vous l'aurez deviné, ce que j'essaie de faire actuellement, c'est de l'AJAX. Et je suis très mauvais d'ailleurs
Ma base de données : Gamme, produit, erreur. Je clique sur une gamme, il me filtre les produits dans la deuxième liste puis les erreurs dans la troisième, une liste chaînée quoi
Une connaissance m'avait filé un bout de code dans lequel il y avait ce type de liste (entre autre, bonjour l'adaptation du code), sauf qu'il y en a que deux, et j'en veux 3, de listes.
Je suis pas sorti de l'auberge
Voilà où j'en suis :
Html et script:
page de traitement 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
44
45
46
47
48 <script type="text/javascript" src="javascript/jquery-1.4.1.min.js"></script> <script type="text/javascript"> $(function($) { $('#put').change(function(){ $('#tag option:gt(0)').remove(); if ($('#put').val() >= 0 ) { $.ajax({type: "POST", dataType:"default", url: "listeTag.php", data: "id=" + $('#put').val(), error: function() {alert('Erreur de communication ou d\instructions avec le serveur');}, success: function(data){ $.each(data, function(key, val) { $('#tag').append('<option value="' + val.d_prj_id + '">' + val.d_prj_tag + '</option>'); }) } }); } }); }); </script> <?php try{$bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));} catch(Exception $e){die('Erreur : ' . $e->getMessage());}?> <fieldset> <legend>Sélection du projet</legend> <form method="post" action="#"> <label>PUT : </label> <select id="put"> <option value="-1">Aucune</option><?php $req=$bdd->query('SELECT nom, id FROM gamme ORDER BY nom'); while($dreq=$req->fetch()) {?> <option value="<?php echo $dreq['id'];?>"><?php echo $dreq['nom']; ?></option><?php }?> </select> <label>TAG : </label> <select id="tag" name="tag"> <option value="-1">Choisir une PUT</option> </select> <input type="submit" name="consulterProjet" value="Consulter le projet" /> </form> </fieldset>
Je vous remercie d'avance, j'espère vraiment enfin faire fonctionner cette liste ...
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 <?php try{$bdd = new PDO('mysql:host=localhost;dbname=aide_au_depannage', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));} catch(Exception $e){die('Erreur : ' . $e->getMessage());} $listeTag = array(); if(isset($_POST['id'])) { // récupération du libellé de la put correspondant à l'identifiant require_once '../model/sqlPut.php'; $debTag = retourneNumPut($db, $_POST['id']); // récupération des tags SN - libellé PUT (ex : SN08****) $requete = $db->prepare ('SELECT id, nom FROM produit WHERE id_gamme="'.$debTag.'" ORDER BY nom'); $requete->execute(array()); $listeTag = $requete->fetchAll(); $requete->closeCursor(); } echo $listeTag; // initialisation de l'accès à la base de données // récupération des variables postées dans la requête ajax // requête vers la base de données // echo du résultat (au format json, html ...) ?>
Partager