If et else dans boucle while en PDO

Bonjour,

J'ai fait un moteur de recherche à partir des critères de plantes.
Je voudrai qu'un message d'erreur s'affiche s'il n'y a pas de plantes correspondant aux critères indiqués
Voici mon code PHP

$req=$bdd->query( "SELECT nom FROM VEGETAUX WHERE codetype=$types AND codeduree=$duree AND codecouleur=$couleur AND codefeuillage=$feuillage AND codeexposition=$exposition");

while($data=$req->fetch())

if($data['nom']!="")
{
echo "<span class=affiche style='color:green;font-weight:bold;font-size:20px;position:relative;left:250px;top:450px;<br><br>'><a href='plantes.php?nom=$data[nom]'> $data[nom]</a></span><br><br>";
}
else
{
echo "<span class=affiche style='color:red;font-weight:bold;font-size:20px;position:relative;left:250px;top:450px;<br><br>'>il n'y a pas de plantes correspondant aux criteres choisis</span><br><br>";
}
}

Il doit y avoir un problème au niveau du if et du else: quand il y a des réponses ça marche mais quand il n'y a pas de plante rien ne s'affiche.
Pourriez-vous me dire où est l'erreur?
Merci pour votre aide

2 réponses

  1. Bonsoir,
    Pas mal d'erreurs de syntaxe en PHP et en HTML :
    $req=$bdd->query("SELECT nom FROM VEGETAUX WHERE codetype='".$types."' AND codeduree='".$duree."' AND codecouleur='".$couleur."' AND codefeuillage='".$feuillage."' AND codeexposition='".$exposition."'");
    
    while($data=$req->fetch()) {
    	if(!empty($data['nom'])) {
    		echo "<span class=\"affiche\" style=\"color:green;font-weight:bold;font-size:20px;position:relative;left:250px;top:450px;\"><br><br><a href=\"plantes.php?nom=".$data['nom']."\">".$data['nom']."</a></span><br><br>";
    	} else {
    		echo "<span class=\"affiche\" style=\"color:red;font-weight:bold;font-size:20px;position:relative;left:250px;top:450px;\"><br><br>Aucune plante correspondante aux critères choisis</span><br><br>";
    	}
    }

    Cordialement.
    1. Merci pour la réponse rapide mais j'ai testé et je n'ai toujours pas le message d'erreur.
      Par contre j'ai bien la liste des plantes correspondant aux critères.Une autre idée peut-être?