Bonjour tout le monde,
je travaille actuellement sur un formulaire de recherche qui après validation affiche un tableau de résultats.
Ces résultats sont obtenus en interrogeant une base de données suite aux critères de recherche saisis par l'utilisateur.
Dans ma méthode de récupération des données du formulaire, je récupère des variables POST. Je fais des tests tel que:
Selon les critères renseignés le tableau de résultats peut être très grand.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if ($this->getRequest()->isPost()){ // traitement des valeurs pour faire les réquêtes et récupérer les résultats // traitement de la paginatin ... }
J'essaie donc d'utiliser le système de pagination à l'aide du composant Zend_Paginator pour n'afficher que 10 résultats par page.
Etant donné la taille de mes tables, je passe un 'select' à mon Zend_Paginator afin qu'il se charge d'executer la requête comme il se doit en exécutant une requête pour ne remonter que la liste des items de la page en cours.
L'affichage de la première page est ok, j'obtiens bien les 10 premiers résultats.
Le problème se pose lorsque je veux aller à une page suivante, la pagination reload mon action de récupération de données du formulaire avec comme paramètre GET page=2. Il ne rentre donc pas dans mon test : if($this->getRequest()->isPost()) et ne traite pas mes valeurs post ...
J'ai regardé sur le forum et ai essayé avec la mise en session de ma requête mais ça ne me donne aucun résultat.
Je suis coincé à cause de cela et ne vois vraiment pas comment faire
Merci d'avance pour toutes vos idées qui pourraient m'éclairer sur le problème.
Partager