|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : février 2004 Messages : 161 ![]() |
Bonjour à tous,
J'aurais voulu savoir comment faire pour connaitre le nombre de ligne que renvoie une requete select via le framework zend. Faut il que je fasse 2 requete : une count et l'autre select ou une seule peut elle suffire ? Je ne suis pas sure d'avoir été très claire mais j'espère que vous pourrez quand meme me répondre. Merci d'avance à tous!! |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Inscription : décembre 2003 Messages : 3 717 ![]() |
je ne connait pas du tout le framework zend, mais est-ce que tu ne pourrai pas attribuer ton select à une variable (qui serait donc un tableau), puis faire un count() sur ce tableau ?
__________________
Globalement inoffensif Merci de respecter les règles du forum. Aucune question technique par MP ! _______________________________________________________________________ La rubrique Ruby / Rails recrute. Contactez moi ! _______________________________________________________________________ Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS Tutoriaux HTML/CSS et PHP |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : février 2004 Messages : 161 ![]() |
C'est possible.
Finalement j'ai fait une requete count à part. Merci quand meme |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 82 ![]() |
Je me permet de relancer le sujet puisque je me trouve confronter au même soucis !
Je souhaiter connaitre le nombre de lignes contenues dans un table en faisant un "SELECT COUNT(*) FROM table" Mais lorsque je fait la requete, j'ai cette remarque: "Notice: Object of class Zend_Db_Statement_Pdo could not be converted to int..." La solution de faire un count sur le fetchAll de la requête est faisable mais je pense que la première solution est moins gourmande en ressources... Quelqu'un a une suggestion ? |
|
|
00
|
|
|
#5 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2006 Messages : 17 ![]() |
Bonjour,
on ne peut pas mélanger un count et récupérer toutes les lignes d'une requête . On peut regrouper les colonnes lors d'un count(*) avec GROUP BY et HAVING. En revanche pour faire un count dans le framework : Code :
SELECT count(*) AS `nb` FROM `t_table` J'espere que ça peut vous aider |
||
|
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : novembre 2003 Messages : 737 ![]() |
Ca m'étonnerais que le framework de zend ne puisse pas faire un mysql_num_rows...
Arrêtez avec vos COUNT(*), inutile de surcharger votre serveur MySQL quand on peux faire plus simple et plus légé.
__________________
http://www.ape-project.org/ |
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2006 Messages : 17 ![]() |
je suis d'accord avec toi sur le mysql_num_rows , mais dans le cas du framework, on doit rendre l'application la plus autonome possible de la base de donnée, d'où l'utilisation de pdo.
Certes count(*) consomme , il sufit de remplacer '*' par le nom de sa clef primaire pour gagner en perf Dans tous les cas si on souhaite connaitre le nombre de lignes et récupérer les infos : on fait un fetchall de la requete qui renvoie toutes les lignes dans un rowset Et on a plus quà les compter avec un count($rowset) |
|
|
00
|
|
|
#8 | ||
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 82 ![]() |
D'abord merci pour les réponses.
En fouillant un peu et parès des dizaines d'essais j'ai finit par trouver une (bonne?) solution : je créer une nouvelle classe héritée de celle de ZF qui contient: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com