[CodeIgniter] Bug avec la pagination [Résolu]

Messages postés
260
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
28 septembre 2011
- - Dernière réponse : Dacobah
Messages postés
260
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
28 septembre 2011
- 28 sept. 2011 à 15:11
Bonjour à tous,

je suis encore un débutant avec le framework CodeIgniter et je me retrouve aujourd'hui confronté au problème de la pagination.
Je souhaite en effet avoir accès à des données via un id qui nécessite une variable dans l'url ainsi que celle nécessaire à la pagination.

Voici ma fonction trucs_par_jour (ce n'est pas son vrai nom, c'est juste un exemple) placé dans mon controlleur truc qui retourne un tableau de trucs pour un jour précis.
Ces trucs proviennent de ma base de données et arrivent jusqu'à mon controlleur grâce à get_trucs_par_jour($jour) via le modèle model_trucs.

function trucs_par_jour($jour) {
$configpages['base_url'] = 'http://www.exemple.com/ci/index.php/truc/trucs_par_jour/'.$jour."/";
$configpages['total_rows'] = count($this->model_truc->get_trucs_par_jour($jour));
$configpages['per_page'] = 10;
$config['uri_segment'] = 4;

$this->pagination->initialize($configpages);
$data['trucs'] = $this->model_trucs->get_trucs_par_jour($jour, (int)$this->uri->segment(4), $configpages['per_page'] );

$this->load->view('truc_view.php', $data);
}


Et voici ma vue :
<?php foreach ($trucs as $element): ?>
    

Nom du truc : <?=$element->nom?>

Date du truc : <?=$element->date?>

    

<?php endforeach; ?>
<?php echo $this->pagination->create_links(); ?>



J'obtiens quelque chose d'étrange dans ma vue lorsque je saisi : http://www.exemple.com/ci/index.php/truc/trucs_par_jour/2011-09-28/

La numérotation de mes 32 trucs commence à 4 (soit la dernière page). Elle en affiche bien 10 par pages mais lorsque je clique sur une autre page, la page sélectionnée reste la quatrième.
De plus, les liens derrière la numérotation des pages donne :

First
<
2
3
4


Soit rien, 20, 10 puis encore 20. Bref il y a comme un bug dans la pagination.

Ce genre de situation avec une pagination erronée vous est-elle déjà arrivé ? Si oui, comment l'avez-vous résolu ?
Sinon, comment pensez-vous qu'il faudrait que je procède pour retrouver une pagination normale ?

Merci d'avance à tous !

P.S. : je n'ai pas encore retirer le index.php mais j'ai appris à le faire dans un autre projet CodeIgniter.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
41
Date d'inscription
vendredi 30 octobre 2009
Statut
Membre
Dernière intervention
13 décembre 2012
3
Merci
Déjà tu utilise

$configpages['per_page'] = 10; --> configpages
$config['uri_segment'] = 4; --> config?

Donc tu passe pas en paramètre le uri_segment quand tu initialise la pagination. C'est peut-être ça le problème.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 193 internautes nous ont dit merci ce mois-ci

Commenter la réponse de galled
Messages postés
260
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
28 septembre 2011
0
Merci
Woah, alors là je suis bluffé ! J'ai cherché pendant un moment et c'était effectivement cette erreur toute bête qui bloquait la pagination.

Merci beaucoup en tout cas, tu viens de me sortir du pétrin :D
Commenter la réponse de Dacobah