Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 29-10-2008 16:42:00

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

[résolu] Zend_Paginator récupérer le nombre d'enregistrements

Bonjour,

Dans un post précédent, j'ai découvert que l'on peut transmettre une instance de Zend_Db_Select comme argument à Zend_Paginator pour des gains de performance.
Tout fonctionne, cependant, j'aimerais récupérer le nombre d'enregistrement directement dans le controlleur et non dans le partial de vue comme expliquer dans la doc.

Dans mon controlleur

Code:

$paginator = Zend_Paginator::factory($select_query);
$paginator->setCurrentPageNumber($pageNumber = (int) $this->_request->getParam('pg',1));
$paginator->setItemCountPerPage($itemsPerPage = 10);

$nbresults = count($paginator); // me renvoie le nombre de page et pas le nombre de résultat (row/ligne).

Quelqu'un a-t-il une solution ?

Merci de votre aide.

Dernière modification par Roulio (30-10-2008 08:28:14)

Hors ligne

 

#2 29-10-2008 17:27:14

etaty
Membre
Date d'inscription: 16-10-2008
Messages: 49

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

le nombre de page : $paginator->getItemCount($paginator)
nombre de résultat c'est $this->totalItemCount; mais dans la vue ...

edit :
$_rowCount contient le nombre de ligne mais protected( \library\Zend\Paginator\Adapter\DbSelect.php )

Dernière modification par etaty (29-10-2008 17:35:22)

Hors ligne

 

#3 29-10-2008 17:40:21

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Hello,

Et un count(), Zend_Paginator_Adapter_DbSelect implémente Zend_Paginator_Adapter_Interface qui elle-même implémente Countable.

Code:

$nb = count($paginator);

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#4 29-10-2008 18:59:38

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Bonsoir,

J'ai testé sur mon site un count($this -> Paginateur) dans le script de vue et j'obtiens le nombre de résultats dans la page en cours...

Pas le nombre total d'enregistrements sad

Bonne soirée.

Kaimite

Hors ligne

 

#5 29-10-2008 19:39:06

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Oui parce que tu comptes sur l'instance du paginateur.
Le paginateur n'est qu'un objet qui pilote un adaptateur par fenêtre (avec un LimitIterator).
C'est l'adaptateur qui sait le nombre de résultats total.

Je parierai dans ton cas sur

Code:

count($this->Paginateur->getAdapter());

Hors ligne

 

#6 29-10-2008 19:51:48

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Hello,

J'ai vraiment répondu comme un boulet à ce post.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#7 29-10-2008 20:38:41

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Môô non fô pas dire ça wink

Hors ligne

 

#8 29-10-2008 21:56:45

Roulio
Membre
Lieu: Alsace
Date d'inscription: 20-11-2007
Messages: 137
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

@Julien : Ok, je vais essayer ta méthode demain au boulot.

@all:
Ca fait plaisir de voir des réponses à toutes heures ^^.
Merci, à tous.

Hors ligne

 

#9 29-10-2008 22:03:45

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Hello,

On n'est pas les seuls à se poser la question.

A+

Dernière modification par mikaelkael (29-10-2008 22:03:59)


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#10 29-10-2008 22:24:58

Kaimite
Membre
Lieu: Marseille
Date d'inscription: 16-06-2008
Messages: 144
Site web

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

Bonsoir et merci pour les réponses.

Dans mon controller je met :

Code:

$this -> view -> nbResultatsTotal    = $Paginateur -> getAdapter() -> count();

et je récupère $this -> nbResultatsTotal dans ma vue.

C'est nickel smile

Merci et bonne nuit.

Kaimite

Hors ligne

 

#11 31-10-2008 14:45:58

Julien
Membre
Date d'inscription: 16-03-2007
Messages: 501

Re: [résolu] Zend_Paginator récupérer le nombre d'enregistrements

J'ai patché ca, c'est à la r12200 pour ceux qui bossent sur le trunk, sinon ca sera intégré en 1.7 (qui sort le 16/11 d'ailleurs, au passage ...)

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages