Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1537 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Compter des entrées dans une table mysql

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compter des entrées dans une table mysql

n°1258070
jo la pois​se
Apocalypsis => Batracien
Posté le 03-12-2005 à 13:57:29  profilanswer
 

Bonjour,
 
Je voudrais compter le nombre d'entrées qui correspondent à un critère précis dans une table (ex : compter les entrées où la colone prénom contient gégé).
Je ne vois absolument pas comment y arriver  :??: , donc si quelqu'un à une idée, je suis preneur  :hello: !
 
Merci d'avance à tous ceux qui me répondront.


Message édité par jo la poisse le 03-12-2005 à 13:59:07

---------------
Ceci n'est pas une signature ;)
mood
Publicité
Posté le 03-12-2005 à 13:57:29  profilanswer
 

n°1258090
jo la pois​se
Apocalypsis => Batracien
Posté le 03-12-2005 à 14:31:57  profilanswer
 

Personne ne peux m'aider?


---------------
Ceci n'est pas une signature ;)
n°1258103
HellR
Posté le 03-12-2005 à 15:16:14  profilanswer
 
n°1258126
jo la pois​se
Apocalypsis => Batracien
Posté le 03-12-2005 à 16:02:46  profilanswer
 

Je vous remercie. En fouillant un peu, j'ai trouvé une manière d'arriver à mes fins.
 
Si certains veulent faire la même chose un jour, voici comment j'ai fait :

Code :
  1. $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM messagerie WHERE (destinataire = '$nom') OR (destinataire = '$nom1')" );
  2. $donnees = mysql_fetch_array($retour);
  3. echo $donnees['nbre_entrees'];


 
Ce n'est peut-être pas le mieux, mais au moins, ça a le mérite de marcher!

Message cité 1 fois
Message édité par jo la poisse le 03-12-2005 à 16:03:21

---------------
Ceci n'est pas une signature ;)
n°1258207
mrbebert
Posté le 03-12-2005 à 21:53:40  profilanswer
 

Si, c'est une bonne solution :)  
Le serveur de bases de données gère tout lui même et il n'y a qu'un volume minimum de données qui est transmis.

n°1258380
leflos5
On est ou on est pas :)
Posté le 04-12-2005 à 12:39:18  profilanswer
 

jo la poisse a écrit :

Je vous remercie. En fouillant un peu, j'ai trouvé une manière d'arriver à mes fins.
 
Si certains veulent faire la même chose un jour, voici comment j'ai fait :

Code :
  1. $retour = mysql_query("SELECT COUNT(*) AS nbre_entrees FROM messagerie WHERE (destinataire = '$nom') OR (destinataire = '$nom1')" );
  2. $donnees = mysql_fetch_array($retour);
  3. echo $donnees['nbre_entrees'];


 
Ce n'est peut-être pas le mieux, mais au moins, ça a le mérite de marcher!


 
Sinon t'as la solution de HellR, tu fais ton select tout court et tu récupère le nombre de tuples en résultats avec mysql_num_rows() ;)
 
Quel est le mieux??? Un utilise que le SGBD l'autre le serveur http aussi :)

n°1258433
sielfried
Posté le 04-12-2005 à 14:54:20  profilanswer
 

select count(*) est mieux si on a uniquement besoin du nombre de tuples.
 
Mais si on veut aussi les tuples en eux-même, alors mysql_num_rows est parfaitement adaptée.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1258558
mrbebert
Posté le 04-12-2005 à 18:14:47  profilanswer
 

leflos5 a écrit :

Sinon t'as la solution de HellR, tu fais ton select tout court et tu récupère le nombre de tuples en résultats avec mysql_num_rows() ;)
 
Quel est le mieux??? Un utilise que le SGBD l'autre le serveur http aussi :)

Là, tu demandes au serveur MySQL de renvoyer tous les enregistrements vers PHP. Donc, il va y avoir un transfert de données (ca peut être volumineux) vers PHP qui va devoir les stocker avant de les compter.
Il est beaucoup plus performant de ne transférer que le résultat du comptage :)

n°1258783
leflos5
On est ou on est pas :)
Posté le 05-12-2005 à 01:28:01  profilanswer
 

mrbebert a écrit :

Là, tu demandes au serveur MySQL de renvoyer tous les enregistrements vers PHP. Donc, il va y avoir un transfert de données (ca peut être volumineux) vers PHP qui va devoir les stocker avant de les compter.
Il est beaucoup plus performant de ne transférer que le résultat du comptage :)


Sauf que si tu récupères des données dont tu as besoin, de toutes manière faut bien que ça passe du sgbd à php ;) Qu'il récupère le nombre de tuples retournés et que tu t'en serves ou non ça change rien ;)
 
Maintenant si t'as juste besoin du nombre et à aucun moment des données pourquoi pas un count ok :) Mais sinon pourquoi s'emmerder alors que y'a un truc qui est là pour ça et séparer un peu les données du traitement :??: Et dans ce cas je vois pas la surcharge de données ;) Mysql retourne le nombre de tuples lus ou impactés point  :pt1cable:

n°1258785
mrbebert
Posté le 05-12-2005 à 01:42:07  profilanswer
 

Là, on parle du cas ou on a seulement besoin du nombre de lignes (voir réponse de sielfried). Et dans ce cas, la différence peut être très importante puisqu'on évite un transfert de données de la base vers MySQL ;)

mood
Publicité
Posté le 05-12-2005 à 01:42:07  profilanswer
 

n°1258790
leflos5
On est ou on est pas :)
Posté le 05-12-2005 à 02:03:45  profilanswer
 

mrbebert a écrit :

Là, on parle du cas ou on a seulement besoin du nombre de lignes (voir réponse de sielfried). Et dans ce cas, la différence peut être très importante puisqu'on évite un transfert de données de la base vers MySQL ;)


Vers php tu veux dire :)
Ouais dans ce cas là ok, mais ça cache quelque part un problème de conception... donc...

n°1258900
mrbebert
Posté le 05-12-2005 à 10:49:23  profilanswer
 

leflos5 a écrit :

Vers php tu veux dire :)
Ouais dans ce cas là ok, mais ça cache quelque part un problème de conception... donc...

Oui, vers PHP.
Mais il n'y a pas forcément de problème de conception, tu peux très bien avoir besoin de savoir un nombre de lignes sans devoir récupérer ces lignes. Par contre, transférer une quantité importante de données inutiles, ca, c'est une erreur [:proy]

Message cité 1 fois
Message édité par mrbebert le 05-12-2005 à 10:50:25
n°1258917
cinocks
Posté le 05-12-2005 à 11:23:00  profilanswer
 

leflos5 a écrit :

Sinon t'as la solution de HellR, tu fais ton select tout court et tu récupère le nombre de tuples en résultats avec mysql_num_rows() ;)
 
Quel est le mieux??? Un utilise que le SGBD l'autre le serveur http aussi :)


 
Et si tu as beaucoup de volume, ca ne sert à rien. Avant que PHP puisse compter le nombre de resultat, il doit les recuperer. Ce qui genere du volume pour rien. le count() est fait pour ca.
 
D'ailleurs, le SELECT count(1) FROM matable est recommandé plus que *. * indique au moteur de prendre tous les champs, alors qu'il ne t'interesse pas. Tu veux juste les compter. Autant faire en sorte qu'il ne recupere aucun champs.


---------------
MZP est de retour
n°1263212
jo la pois​se
Apocalypsis => Batracien
Posté le 09-12-2005 à 21:44:30  profilanswer
 

mrbebert a écrit :

Oui, vers PHP.
Mais il n'y a pas forcément de problème de conception, tu peux très bien avoir besoin de savoir un nombre de lignes sans devoir récupérer ces lignes. Par contre, transférer une quantité importante de données inutiles, ca, c'est une erreur [:proy]


 
Et je voulais justement compter le nombre de lignes uniquement.

n°2236478
paul1087
Posté le 28-08-2014 à 18:50:09  profilanswer
 

ca marche rien à dire

n°2236552
rufo
Pas me confondre avec Lycos!
Posté le 29-08-2014 à 09:40:32  profilanswer
 

Joli déterrage de 2005 :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2250194
cristophem​ea
Posté le 05-02-2015 à 14:51:29  profilanswer
 

SELECT COUNT(*) from personne where prenom Like "%gégé%"


---------------
Top 3 des livres gratuits au monde Cliquez ici

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Compter des entrées dans une table mysql

 

Sujets relatifs
transfert entre deux base MySQLbase mysql linux
MySQL + Python.. possible ?requete sur deux table affichage ?
[résolu] Requete MySQL : problème d'affichage par catégorieCompter le nombre de ligne dans un fichier texte sous Windows
[Excel] Compter un nombre de 0 contigues, la suite de 0 la plus longueInsérer des listes dans MySQL
[linux][ext2fs] galere a trouver les entrées struct ext2_dir_entry[C\C++][MySQL] liaison entre les deux
Plus de sujets relatifs à : Compter des entrées dans une table mysql


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR