Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 06-09-2007 10:57:40

frederic
Membre
Date d'inscription: 04-09-2007
Messages: 31

[Résolu] tri et pagination

Bonjour à tous,

je coince sur un détail pénible,
après avoir mis en place une pagination je souhaite mettre en place un tri sur les titres des colonnes :
voilà ce que j'ai fait :

Dans mon controller, la réception d'une variable $order récupéré par l'url :

Code:

$order = $this->getRequest()->getParam('order');
$this->view->albums = $album->fetchAll(null,$order, $rowPerPage, $pager->offset);

Dans ma vue, le passage de cette même variable :

Code:

<a href=?order=title>Titre</a>

Le tri se fait bien mais j'ai un problème avec ma pagination, en effet lors d'un changement de page le tri ne s'effectue plus... Si quelqu'un a une idée ? Comment conserver ce foutu tri sachant que si je passe en dur dans le fecthAll l'order by ca marche nickel même avec la pagination. Je pense que c'est un problème stupide mais je bloque la dessus.

Hors ligne

 

#2 06-09-2007 11:26:03

Ysaak
Membre
Lieu: Strasbourg
Date d'inscription: 18-06-2007
Messages: 33

Re: [Résolu] tri et pagination

Bonjour,

Ce que tu peux faire, c'est ajouter dans tes liens de pagination la colonne avec laquelle tu trie.

Ce qui pourrait donner : <a href="?page=X&order=title">Page X</a>

Sinon, tu peux voir avec les règles de routage. En fonction de la manière dont tu accèdes à la page, cela peut changer mais en basic cela peut donner :

http://server/:module/:controller/:action/:page/:order

Tu ajoutes un paramètre nommé : order en fin d'url. Pour reprendre ton exemple :

Code:

<a href="http://server/:module/:controller/:action/1/title">Titre</a>

@+, Damien

Edit: dans l'exemple, j'ai supposé être à la page 1. Les :module, :controller, :action sont à corriger pour matcher avec ton url.

Dernière modification par Ysaak (06-09-2007 11:28:36)

Hors ligne

 

#3 06-09-2007 11:37:19

2mx
Membre
Lieu: Grenoble
Date d'inscription: 06-08-2007
Messages: 125

Re: [Résolu] tri et pagination

Ou alors utilise une variable de session pour stocker sur quel colonne doit s'effectuer le trie.

Hors ligne

 

#4 06-09-2007 11:53:13

frederic
Membre
Date d'inscription: 04-09-2007
Messages: 31

Re: [Résolu] tri et pagination

Salut Damien,
merci de ta réponse, et j'ai adopté ta première solution en passant dynamiquement l'ordre de tri dans l'url de la pagination. Merci beaucoup pour ton coup de main. a++ Frédéric

Hors ligne

 

#5 04-01-2008 17:09:58

lesauf
Membre
Lieu: Yaoundé - Cameroun
Date d'inscription: 29-11-2007
Messages: 52
Site web

Re: [Résolu] tri et pagination

Pour mes tri  lors du premier affichage je met le data grid en cache. ainsi les infos triées ne proviennent pas de la requete sql, mais du cache

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