Bonjour;
j'ai tombé dans une situation dont j'ai pas pu détecté le problème.
j'ai 2 listes déroulantes remplies manuellement et je voudrais remplir la 3 eme dynamiquement en utilisant AJAX et PHP.
Bon; pour ce faire; j'ai 2 fichier index.php et traitement.php
index.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
<script type="text/javascript">
		$(document).ready(function(){
			$("#charger").click(function(){
				var fil =$("#filiere").val();
				var sem=$("#semestre").val();
				$("#mod").empty();
				$("#mod").append('<option value="">Choisir une matière</option>');
				$.ajax({
					url: 'traitement.php',
					data: 'f=' + fil + '&s=' + sem,
					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
							$("#mod").append('<option value="'+ index +'">'+ value +'</option>');
						});
					}
				});
				//data : 'email=' + email + '&contenu=' + contenu_mail, 
			});
		});
</script>
j'ai pas inclue la partie formulaire; mais il y a aucun problème à ce niveau
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
<?php
	try {
		$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
	} catch(Exception $e) {
		exit('Impossible de se connecter à la base de données.');
	}
 
	$json = array();
 
	if(isset($_GET['f']) && isset($_GET['s'])) {
		// requête qui récupère les localités un
		$requete = "SELECT matiere FROM table1 WHERE filiere= '".$_GET['f']."' AND semestre ='".$_GET['s']."' GROUP BY matiere ORDER BY id";
		// 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["module"]][] = utf8_encode($donnees["module"]);
		}
	//}
	 // envoi du résultat au success
	echo json_encode($json);
	}
?>
le problème est le suivant:
Lorsque je clique sur le lien qui lance le traitement (lien dont l'id est "charger") et que je choisi successivement "MG" comme filière et "1" comme semestre...j'obtiendrai le résultat avec succès mais si je change le semestre en "2"; j'obtiendrai rien (que la première oprion par defaut: "Choisir une matière").
voici une capture de la tabble MYSQL:
Nom : table.png
Affichages : 1101
Taille : 25,3 Ko.
Merci d'avance de m'aider