2010-02-24 6 views
11

Il fonctionne parfaitement et il ressemble à ceci:CodeIgniter Problème de pagination

«Première < 2 3 4 5> Dernière»

Voici mon code:

$this->load->library('pagination'); 
$config['base_url'] = base_url().'controlpanel/'; 
$config['first_link'] = 'First'; 
$config['total_rows'] = $count; 
$config['per_page'] = '3'; 
$this->pagination->initialize($config); 
$data['pagination'] = $this->pagination->create_links(); 
$this->load->view('controlpanel', $data); 

Je cette dans mes itinéraires:

$route['controlpanel/(:num)'] = "controlpanel/index/$1"; 

Howe ver, chaque fois que j'arrive à une page différente, c'est-à-dire controlpanel/3 - le chiffre 1 est toujours en gras - il devrait changer en 2 ou 3 etc!

Pourquoi pas?

Quand je change le $config['base_url'] à base_url().'controlpanel/page' fait alors le travail correctement boldening pagination le nombre correct - mais le lien 1 points à l'URL controlpanel/page qui est la mauvaise page pour moi que la base est juste controlpanel.

Merci à tous pour votre aide.

Répondre

21

La classe de pagination doit vérifier le deuxième paramètre, pas le troisième (par défaut).

Ajouter ce au tableau de configuration pour changer ceci:

$config['uri_segment'] = '2'; 

Cela ne changera rien, mais être utile pour créer l'url nécessaire. changer ceci:

$config['base_url'] = base_url().'controlpanel/'; 

à ceci:

$config['base_url'] = site_url('controlpanel'); 
+0

Merci pour votre réponse Thorpe - J'ai essayé ci-dessus et la même chose est arrivé. Êtes-vous en train de dire que per_page est le segment de l'URL que la classe de pagination va vérifier ?? Btw, j'utilise un fichier htaccess qui supprime simplement la partie index.php. – Abs

+0

Je pense que vous vouliez dire '$ config ['uri_segment'] = 2;' J'ai ajouté ceci et ça marche! Veuillez éditer votre question afin que les autres puissent la voir plus facilement. Votre réponse a suscité une réflexion sur ce qui était nécessaire, merci beaucoup. Je n'avais pas réalisé comment la classe de pagination obtenait le numéro de page auquel elle devait s'adresser! – Abs

+0

pas de problème. J'ai figuré l'erreur et l'ai édité il y a un moment.:) –

0

mettre également cette ligne

$config['uri_segment'] = 3; 
2

Ne plus oublier de vérifier pour .. $ inboxMessageCount cette valeur définie du contrôleur

$ config ['total_rows'] = $ inboxMessage Compter;

Si cette valeur est inférieure à la valeur limite, la pagination ne sera pas affichée.

-1
$config['first_tag_open'] = '<li>'; 

$config['first_tag_close'] = '</li>'; 

$config['first_url'] = site_url('your controller url'); 

mis $config['first_url'] comme ceci pour rendre le travail de votre premier mot url