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 : 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 PDO PHP

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