PHP problème avec if empty

Résolu/Fermé
ZaRnO - 26 mars 2009 à 11:43
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 - 26 mars 2009 à 12:00
Bonjour,

Petite question toute bête ! Je bloque sur un If Empry qui ne fonctionne pas dans mon code source...

Je crée une boite agenda pour un site web qui affiche les différents évènement contenue dans la base de données et je voudrais afficher 'Aucun évènement' lorque celle ci est vide !

Voici mon code :

<?php $reponse = mysql_query("SELECT * FROM wp_agenda ORDER BY ID ASC LIMIT 0,5");
while ($donnees = mysql_fetch_array($reponse) )
  
if (empty($donnees))
{
echo "<font color=\"red\"><center>Aucun évènement n'est disponible actuellement.</center></font>";
  
} else {
?><br /> &nbsp;<font color="#FF0000"><?php echo stripslashes($donnees ['jour']); ?></font>&nbsp;:&nbsp;<?php echo stripslashes($donnees ['evenement']); 
} }
?>


Donc si ma base contient un évènement, celui-ci s'affiche bien dans la boite mais par contre, si la base ne contient rien, il n'affiche pas la phrase que je souhaite (Aucun évènement)

Quelqu'un pourrait m'éclairer ?

Merci d'avance :)
A voir également:

1 réponse

freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
26 mars 2009 à 11:52
Bonjour.
Déjà, tu a une accolade de trop a la fin ( } )...mais passons, peut etre as tu une structure au dessus.
La fonction mysql_fetch_array() renverra faux si tu n'a rien dans la table, donc ne passera pas par ton test. Il faut plutot faire de cette manière si tu veut afficher quelque chose en cas de table vide.


<?php $reponse = mysql_query("SELECT * FROM wp_agenda ORDER BY ID ASC LIMIT 0,5");
if(mysql_num_rows($reponse) == 0) {
    echo "<font color=\"red\"><center>Aucun évènement n'est disponible actuellement.</center></font>";
}else{
    while ($donnees = mysql_fetch_array($reponse) ){
        ?><br /> &nbsp;<font color="#FF0000"><?php echo stripslashes($donnees ['jour']); ?></font>&nbsp;:&nbsp;<?php echo stripslashes($donnees ['evenement']); 
    }
}
?>

0
Super cela fonctionne parfaitement !

Je ne cherchais pas au bon endroit !

un grand merci pour la rapidité et l'explication !

Ps: Pour l'accolade en trop, j'ai bien une structure au dessus ;)

Merci beaucoup :)
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161 > ZaRnO
26 mars 2009 à 12:00
Mais de rien.
Bonne continuation
0