views:

620

answers:

1

Hello all,

I am using codeigniter and its pagination class. It works perfectly and it looks something like this:

« First < 1 2 3 4 5 > Last »

Here is my 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);

I have this in my routes:

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

However, whenever I get to a differentpage i.e. controlpanel/3 - the number 1 is always bold - it should change to 2 or 3 etc!

Why doesn't it?

When I change the $config['base_url'] to base_url().'controlpanel/page' then does the pagination work correctly by boldening the correct number - but the link 1 points to the URL controlpanel/page which is the wrong page for me as the base is just controlpanel.

Thanks all for any help.

+2  A: 

The pagination class should check the second parameter, not the third(default).

Add this to the config array to change this:

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

This won't change anything but be helpful in creating the url needed. change this :

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

to this:

$config['base_url'] = site_url('controlpanel');
Thorpe Obazee
Thanks for your reply Thorpe - I tried the above and the same thing happened. Are you saying per_page is the segment of the URL that the pagination class will check?? Btw, I am using a htaccess file that just removes the index.php part.
Abs
I think you meant `$config['uri_segment'] = 2;` I have added this and it works! Please edit your question so others can see it more easily. Your answer sparked a thought in what was needed thank you very much. I didn't realise how the pagination class was getting the page number it needs to go to!
Abs
no problem. I figured the error and edited it a while ago. :)
Thorpe Obazee