Problème pagination php [Réglé]
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
J'utilise la doc pour générer une pagination sur mon module, sauf qu'au moment ou je fait un
Code PHP :
echo $pagination->display();
J'ai un message d'erreur: Sorry, we encountered a problem and we cannot complete your request...
Et il n'y a rien dans les logs :/
Merci (PHPboost V4.1)
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Peut-on avoir le code complet du controller ? Sans cela difficile de répondre...
Cordialement.
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code PHP :
// On compte le nombre d'éléments dans votre base de données $number_items = PersistenceContext::get_querier()->count('phpboost_projets_forum_topic'); // On récupère le numéro de page courante et on lui donne la valeur de 1 si elle n'est pas définie $current_page = AppContext::get_request()->get_getint('page', 1); // On initialise la classe pagination avec les différents paramètres $pagination = new ModulePagination($current_page, $number_items, 3); $pagination->set_url(new Url('/projets/forum.php?id=' . $idprojet . '&page=%d')); $pagination->get_number_items_per_page(); if ($pagination->current_page_is_empty() && $page > 1) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } $pagination->get_number_pages(); echo $pagination->display();
J'ai fais comme indiqué dans la doc :/
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Pour afficher ta pagination, tu dois l'affecter dans un autre Template, comme dans les autres modules.
Edit, du coup c'est la doc qui n'est plus à jour.
Re-Edit, pour en être sûr, active le mode Debug et dis-nous ce qu'il en ressort.
Édité par PaperToss Le 05/06/2016 à 15h42
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code PHP :
// On compte le nombre d'éléments dans votre base de données $number_items = PersistenceContext::get_querier()->count('phpboost_projets_forum_topic'); // On récupère le numéro de page courante et on lui donne la valeur de 1 si elle n'est pas définie $current_page = AppContext::get_request()->get_getint('page', 1); // On initialise la classe pagination avec les différents paramètres $pagination = new ModulePagination($current_page, $number_items, 3); $pagination->set_url(new Url('/projets/forum.php?id=' . $idprojet . '&page=%d')); $pagination->get_number_items_per_page(); if ($pagination->current_page_is_empty() && $page > 1) { $error_controller = PHPBoostErrors::unexisting_page(); DispatchManager::redirect($error_controller); } $pagination->get_number_pages(); // Affichage dans le template forum.tpl {PAGINATION} $Template->put_all(array('PAGINATION' => $pagination->display()));
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Comment affiches-tu la pagination dans ton template ?
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Object of class FileTemplate could not be converted to string
-------------------------------------------
Edité le Dimanche 5 Juin 2016 à 18h16
Résolu: suffisait de mettre # IF C_PAGINATION # # INCLUDE PAGINATION # # ENDIF #
Merci pour ton aide <img src="/images/smileys/smile.png" alt=":)" class="smiley" />
-------------------------------------------
Edité le Dimanche 5 Juin 2016 à 18h24
Petit problème, lorsque je clique sur la pagination, 1,2,3,4 c'est toujours les mêmes sujets :/ Voici la requête SQl:
Code PHP :
Il me semble qu'il y a un truc a ajouté mais quoi :/
Édité par Myster Le 05/06/2016 à 18h24
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Code PHP :
La limite est là pour limiter le nombre d'éléments à récupérer, et l'OFFSET pour définir à partir de quel élément tu souhaites récupérer les messages.
Édité par PaperToss Le 05/06/2016 à 18h39
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code :
Fatale : invalid query. (ERRNO 1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1query: SELECT * FROM phpboost_projets_forum_topic WHERE projet_id='3' ORDER BY id DESC LIMIT 3 0
PaperToss Membre non connecté
Booster Bazooka
- Booster Bazooka
- Voir le profil du membre PaperToss
- Inscrit le : 25/03/2016
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
[code=php][/code]
Mais erreur tout de même :
Code PHP :
Fatale : invalid query. (ERRNO 1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OFFSET0' at line 1query: SELECT * FROM phpboost_projets_forum_topic WHERE projet_id='3' ORDER BY id DESC LIMIT 3 OFFSET0
Édité par Myster Le 05/06/2016 à 19h10
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie