Afficher un message si la requete est vide.

Eléphanteau du PHP | 34 Messages

20 mars 2007, 14:51

Bonjour, j'ai déjà poster sur les forums de PHP France dés que je bloquais et j'ai toujours été aider et je vous en remercie.

Je fais appel de nouveau à votre aide.

Voici tout d'abord mon code :
			$resultat = mysql_query ("SELECT id_news, titre_news, DATE_FORMAT(publi_news,'%e/%m')as publi_news, rub_news FROM cer_news ORDER BY id_news DESC", $connexion);
			
			if ($resultat) {
				while ($news = mysql_fetch_object ($resultat)) {
					echo "<p><span class='legende'>$news->publi_news</span> ";
					$sql_rub = mysql_query ("SELECT * FROM cer_rub");
						while ($valeur_sql = mysql_fetch_object ($sql_rub))
						if ($news->rub_news==$valeur_sql->id_rub) echo "<strong>$valeur_sql->nom_rub :</strong> ";
					echo "<a href='actualites1-$news->id_news.html'>$news->titre_news</a></p>"; } }
			else {
				echo "Erreur dans la requete"; } 
Voici mon probleme , je n'arrive pas à voir comment je peux afficher un message d'erreur si la requete ne trouve aucun résultat. J'ai tester avec empty mais ca m'affiche le message d'erreur avec mon résultat si ça contient des données.

Si je me suis mal fait comprendre, dites le moi et je reformulerais.
Je vous remerci d'avance.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 mars 2007, 14:56

Regarde du côté de mysql_num_rows()

Note : quand tu es sur php.net et que tu consultes la fiche d'une fonction, le menu de gauche propose les fonctions connexes. De même, le menu général de droite (pour mylsq_query(), par exemple, il s'agit de MySQL) donne la liste des fonctions connexes avec une courte description.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 259 Messages

20 mars 2007, 15:07

oui tu dois utiliser mysql_num_rows :

<?
//requete
$sql= "SELECT id_news, titre_news, DATE_FORMAT(publi_news,'%e/%m')as publi_news, rub_news FROM cer_news ORDER BY id_news DESC";

//exécute la requete
$req = mysql_query($sql); 

//compte le nombre de ligne et on met le resultat dans la variable total
$total = mysql_num_rows($req); 

//si total = 0 c'est vide
if ($total == 0) 
    { 
    echo'il n\'y a aucun enregistrement'; 
    } 

    else if ($total > 0) 
    { 
    //là tu met les instructions :
    while ($news = mysql_fetch_object ($req))
    ...
    }


?>

voilà :wink:

Eléphanteau du PHP | 34 Messages

20 mars 2007, 15:11

Merci bcp ca fonctionne.

Encore merci