Requete
le 07/03/2006 à 18:15
Suta
Bonjour,
jai une requete sql :
$sql = 'SELECT id, auteur, titre, date, texte_notes, groupe FROM notes WHERE id="'.$_GET['id_notes'].'" AND (groupe = "'.$_SESSION['groupe'].'" OR groupe = "visiteur" OR groupe = "membre")';
je voudrai faire en sorte que si il n'y a pas de resultat alors il y a un message qui s'affiche
donc j'utlise la fonction "if"
mais comment dire "if (pas de résultat pour la requete)" ???
merci pour votre aide ;)
Bonjour,
Tu dois faire une chose de ce genre là :
$sql = 'SELECT count(*) FROM Ta_Table';
$resultat = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$enr = mysql_fetch_array($resultat);
if (($nbtotal = $enr[0]) == 0) {
echo '<b>Aucune infos trouvée</b>';
}
Je ne suis pas un pro, mais essaie ces lignes.
Jack Bocar
<?php
$sql = 'SELECT id, auteur, titre, date, texte_notes, groupe FROM notes WHERE id="'.$_GET['id_notes'].'" AND (groupe = "'.$_SESSION['groupe'].'" OR groupe = "visiteur" OR groupe = "membre")';
$req = mysql_query($sql) or die (mysql_error());
$nb_resultat = mysql_num_rows($req);
if ($nb_resultat == 0) {
// pas de resultat
}
else {
//...
}
?>
Par exemple.
le 07/03/2006 à 23:33
Suta
merci :)
jy avait pensé mais je ne sait pas pourquoi j'avai quand meme un doute...
aurevoir
le 08/03/2006 à 18:13
Bzh
Ou bien tout gérer en même temps sans utilisé de fonctions en plus des fonctions habituelles:
<?php
$sql = 'SELECT id, auteur, titre, date, texte_notes, groupe FROM notes WHERE id="'.$_GET['id_notes'].'" AND (groupe = "'.$_SESSION['groupe'].'" OR groupe = "visiteur" OR groupe = "membre")';
$req = mysql_query($sql) or die (mysql_error());
if ( $resultats = mysql_fetch_array($req) ) {
//Cela veut dire que la requette à tourné au moin UN résultat
//Donc on l'affiche
//////////////////////////////////////////////////////
//Puis on lance la boucle habituelle pour les autres résultats
//////////////////////////////////////////////////////
while ( $resultats = mysql_fetch_array($req) ) {
//On affiche de la même façon les résultats
}
//////////////////////////////////////////////////////
//Fin de la boucle
//////////////////////////////////////////////////////
}
else {
//Notre requette ne retourne AUCUN résultat, donc tu affiches ton message...
}
?>
Bye...
Ouais, mais c'est pas pratique une telle solution.
Pourquoi ?
Parce que tu auras le meme code dans le if et dans le while, donc si tu dois changer quelque chose, tu devras le changer à deux endroits :/
le 08/03/2006 à 21:56
Bzh
Oui ! c'est vrai !
Tout dépend de la façon dont le script est écrit !
Si la POO et la prog par fonctions sont mise en avant pas de souci, Un seul endroit pour modifier le code.
Il y a une rêgle simple à respecter lorsque l'on developpe une appli: jamais deux fois le même code.
Les fonctions et les objects sont donc là pour ça...
Mais dans la façon dont j'ai écris le script ci-dessu c'est vrai que c'est pas terrible. C'étais simplement pour montrer une autre solution.
le 08/03/2006 à 22:01
Bzh
Mince j'avais pas ça =>
$sql = 'SELECT count(*) FROM Ta_Table';
Je trouve inscroyable de voir encore ça !!! Nikel pour plomber sa bdd !!!
$sql = 'SELECT count(le_champs) FROM Ta_Table';
Sera beaucoup mieu...
Bye...
le 08/03/2006 à 22:19
Bzh
Heu ! mouai ... J'ai répondu trop vite dsl !
J'avais mal lu, j'ai cru voir ça "SELECT *" !!!
Dsl!!! Je vais me coucher...
Je sais la sortie est là ------------->[]
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: