Bonjour voilà j'ai repris un script PDO php pour la gestion de trois liste déroulante lièes , la premier valeur ok , la seconde rien et de même pour la troisième
le plus simple c'est de vous ajouter le code jquery et php PDO
Merci de votre aide
Code PDO 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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 // JavaScript Document $(document).ready(function() { var $localite_un = $('#localite_un'); var $localite_deux = $('#localite_deux'); var $localite_trois = $('#localite_trois'); // chargement de la liste de localité un $.ajax({ url: 'liste.php', data: 'go', // on envoie $_GET['go'] dataType: 'json', // on veut un retour JSON success: function(json) { $.each(json, function(index, value) { // pour chaque noeud JSON // on ajoute l option dans la liste $('#localite_un').append('<option value="'+ index +'">'+ value +'</option>'); }); } }); // à la sélection de la localité un dans la liste $localite_un.on('change_liste', function() { var val = $(this).val(); // on récupère la valeur de la localité un if(val != '') { $localite_deux.empty(); // on vide la liste de localité deux $localite_deux.append('<option value="">Choisir la localité deux</option>'); $.ajax({ url: 'liste.php', data: 'localite_un='+ val, // on envoie $_GET['localite_un'] dataType: 'json', success: function(json) { $.each(json, function(index, value) { $localite_deux.append('<option value="'+ index +'">'+ value +'</option>'); }); } }); } else { $localite_deux.empty(); $localite_deux.append('<option value="">Choisir la localité deux</option>'); $localite_trois.empty(); // on vide la liste de localité deux $localite_trois.append('<option value="">Choisir la localité trois</option>'); } }); // à la sélection de la localité deux dans la liste $localite_deux.on('change_liste', function() { var val = $(this).val(); // on récupère la valeur de la localité deux if(val != '') { $localite_trois.empty(); // on vide la liste de localité trois $localite_trois.append('<option value="">Choisir la localité trois</option>'); $.ajax({ url: 'liste.php', data: 'localite_deux='+ val, // on envoie $_GET['localite_deux'] dataType: 'json', success: function(json) { $.each(json, function(index, value) { $localite_trois.append('<option value="'+ index +'">'+ value +'</option>'); }); } }); } else { $localite_trois.empty(); $localite_trois.append('<option value="">Choisir la localité trois</option>'); } }); });
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 <?php //connexion à la base de données include'require/config.php'; // Vérification des paramètres d'accès au fichier liste.php if(isset($_GET['go']) || isset($_GET['localite_un']) || isset($_GET['localite_deux'])) { $json = array(); if(isset($_GET['go'])) { // requête qui récupère les localités un $requete = "SELECT * FROM localite_un ORDER BY localite_un ASC"; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // Création de la liste while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { // je remplis un tableau et mettant l'id en index $json[$donnees["id_localite_un"]][] = utf8_encode($donnees["localite_un"]); } } elseif(isset($_GET['localite_un'])) { // requête qui récupère les localités un $requete = "SELECT * FROM localite_deux WHERE id_localite_un = '".$_GET['localite_un']."' ORDER BY localite_deux ASC"; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // Création de la liste while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { // je remplis un tableau et mettant l'id en index $json[$donnees["id_localite_deux"]][] = utf8_encode($donnees["localite_deux"]); } } elseif(isset($_GET['localite_deux'])) { // requête qui récupère les localités un $requete = "SELECT * FROM localite_trois WHERE id_localite_deux = '".$_GET['localite_deux']."' ORDER BY localite_trois ASC"; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // Création de la liste while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { // je remplis un tableau et mettant l'id en index $json[$donnees["id_localite_trois"]][] = utf8_encode($donnees["localite_trois"]); } } // envoi du résultat au success echo json_encode($json); } ?>
Merci de votre aide
Partager