[RESOLU] Combien de résultats dans ma requete?

Eléphanteau du PHP | 36 Messages

02 janv. 2019, 14:18

Bonjour,
désolé de la simplicité de la question - j'ai bien une requete
$sql='SELECT * FROM matable';
$reponse = $dbh->query($sql);
while ($donnees = $reponse->fetch())
{ etc.
qui fonctionne tres bien mais comment je sais combien d'entrées j'ai dans ma réponse?
Merci d'avance.

Mammouth du PHP | 1967 Messages

02 janv. 2019, 14:46

Il y a plusieurs possibilités,

si seul ce nombre t'interesse, demande le dans ta requète SELECT COUNT(*) FROM ...

si tu n'en as besoin qu'en fin de script, tu peux mettre un compteur dans ta boucle.

sinon tu peux utiliser la fonction rowcount
http://php.net/manual/fr/pdostatement.rowcount.php
Mais il semble qu'elle ne soit pas adapter au requète SELECT. Donc une double requète, un SELECT* et un SELECT COUNT(*) semble le mieux
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 36 Messages

02 janv. 2019, 15:32

ok mais on echo comment?

Eléphanteau du PHP | 36 Messages

02 janv. 2019, 15:52

ok, petite recherche, il semblerait que j'aurai eu besoin de 2 requetes différentes - 1 pour count et 1 pour récupérer les éléments. Bref, pas trop cool + j'utilise un PDO et donc mysql_num_rows($result) pas dispo... Donc, fonction $nombre = $reponse->rowCount(); marche extra, me donne le nombre de rang adequat et n'empeche pas le chargement des données...
Merci Spols.