Page 1 sur 1

select count

Posté : 29 déc. 2007, 18:36
par naje83
Re salut à tous

Mon SELECT count me sort un résultat qui ne me convient pas !!
 <?php
include 'connect.php';
$res=mysql_query('SELECT count(*) FROM livre');
echo "Le nombre de livres référencés est de : ".$res; 
 ?>

Code : Tout sélectionner

Le nombre de livres référencés est de : Resource id #4
Alors que le nom d'enregistrements devrait dépasser les 5000.

Code : Tout sélectionner

CREATE TABLE `livre` ( `titre` varchar(50) NOT NULL default '', `auteur` varchar(30) NOT NULL default '', `editeur` varchar(25) NOT NULL default '', KEY `titre` (`titre`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
D'avance merci

@+

Naje83

Posté : 29 déc. 2007, 18:40
par Sékiltoyai
Je t'invite à relire la documentation de mysql_query() ainsi que de mysql_fetch_array()

Posté : 29 déc. 2007, 18:59
par naje83
Ok merci...je cherche

@+

Naje83

Posté : 29 déc. 2007, 19:38
par moileraz
je te conseil de rajouter
$row=mysql_fetch_row($res);

echo $row[0];
T'auras un meilleur résultat :D

Posté : 29 déc. 2007, 19:41
par zeus
moileraz, merci de ton aide, mais Sékiltoyai avait déjà donné une piste de recherche qui aurait mené naje83 vers la solution.
Lui donner la réponse tout de suite, et qui plus est sans lui expliquer son erreur, ne l'aidera pas à comprendre et à avancer.
Notre politique est de pousser les gens à comprendre leurs erreurs, pas uniquement leur corriger ;)

Posté : 29 déc. 2007, 19:48
par moileraz
:lol:

C'était le cado de Noël

Posté : 29 déc. 2007, 20:00
par naje83
Merci à tous

J'en étais là (avec google...)
<?php
include 'connect.php';
$res=mysql_query('SELECT * FROM livre');
$row=mysql_fetch_row($res);
echo "Le nombre de livres référencés est de : ".count($row[0]); 
?>
Le résultat est de 1 !

Le bon code évidemment est :
<?php
include 'connect.php';
$res=mysql_query('SELECT count(*) FROM livre');
$row=mysql_fetch_row($res);
echo "Le nombre de livres référencés est de : ".($row[0]); 
?>
Le bon résultat est de 5028.
Cela fonctionne mais je ne sais finalement pas si j'ai vraiment tout compris... :roll:

@+

Naje83

ps : Pourriez vous m'indiquer un bon bouquin sur Mysql complet avec de nombreux exemples.

Posté : 29 déc. 2007, 21:59
par Sékiltoyai
Tu dis que tu n'as pas tout compris, mais la solution est dans les liens que je t'ai donnés, à savoir que mysql_query(), pour les requètes SELECT, renvoie une ressource inutilisable en tant que tel, qui ne peut être parcourue que par des fonctions comme mysql_fetch_array(), mysql_fetch_assoc(), et quelques autres…

Donc pour récupérer le résultat de ta requète, tu lis la première ligne de résultat avec mysql_fetch_*(), et tu récupères ensuite la/le clé, index, attribut (selon la fonction utilisée) dans le tableau ou l'objet que tu as récupéré en valeur de retour de mysql_fetch_*().

Posté : 30 déc. 2007, 12:46
par naje83
Merci j'y vois mieux

@+

Naje83