Bonjour,
J'ai ce code PHP qui filtre une table :
Lorsque l'alerte m'informe que le retour est égal à "VIDE" :
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 $sql_declotured = "SELECT Nom, Prenom, Matricule FROM etudiants WHERE Cloture = 1 ORDER BY Nom"; //echo $sql_declotured; $query_declotured = mysql_query($sql_declotured); $nombre = mysql_num_rows($query_declotured); if($nombre > 0) { $return='{'; //ensuite chaque nom des options separes par des ":" while($row = mysql_fetch_assoc($query_declotured)) { //création de la liste déroulante des étudiants non clôturés $return .='"'.$row["Matricule"].'":"'.$row["Nom"].' ' . $row["Prenom"].'",'; } //je remplace la derniere virgule par la ) dans la variable $return $return=preg_replace("/,$/","}",$return); //je retourne le rsultat a AJAX echo $return; } else { echo 'VIDE'; }
Le if n'exécute pas le code du if :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if(xhr.readyState == 4 && xhr.status == 200) { retour = xhr.responseText; alert(retour);
Mais va dans le else :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(retour == "VIDE") { alert("ici"); document.getElementById('message_ou_liste').innerHTML = 'Aucn étudiant n\'est clôturé'; }
J'ai vérifié, VIDE ne contient aucun espace avant ou après.
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 else { emptySel(document.getElementById('et_clotured')); MesOption=eval("(" + retour + ")"); for (key in MesOption) { LeTexte = MesOption[key]; LaValeur = key; var NewOption = document.createElement('option'); NewOption.value = LaValeur; NewOption.innerHTML=LeTexte; document.getElementById('et_clotured').appendChild(NewOption); } }
Je ne comprends vraiment pas
Merci d'avance pour votre aide.
beegees
Partager