[AJAX] Question sur un simple if qui ne fonctionne pas correctement
Bonjour,
J'ai ce code PHP qui filtre une table :
Code:
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';
} |
Lorsque l'alerte m'informe que le retour est égal à "VIDE" :
Code:
1 2 3 4 5
|
if(xhr.readyState == 4 && xhr.status == 200)
{
retour = xhr.responseText;
alert(retour); |
Le if n'exécute pas le code du if :
Code:
1 2 3 4 5 6
|
if(retour == "VIDE")
{
alert("ici");
document.getElementById('message_ou_liste').innerHTML = 'Aucn étudiant n\'est clôturé';
} |
Mais va dans le else :
Code:
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);
}
} |
J'ai vérifié, VIDE ne contient aucun espace avant ou après.
Je ne comprends vraiment pas :aie:
Merci d'avance pour votre aide.
beegees