I'm working on the pagination for codeigniter. I was able to set it on my page but when I click the next page it will say
Object not found! Error 404.
My is correctly placed when I click the next, which is http://localhost/contents/index/2
. Also another thing I noticed is that $config['per_page'] = 2;
yet when I load the page all the data that was looped from a database is shown in 1 page instead of 2 per page.
Controller
//Pagenation below
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/contents/index';
$config['total_rows'] = 200;
$config['per_page'] = 2;
$this->pagination->initialize($config);
echo $this->pagination->create_links();
$data['contents'] = $this->content_model->get_content();
$data['title'] = 'Contents';
$this->load->view('template/header', $data);
$this->load->view('pages/index', $data);
$this->load->view('template/footer');
try this
function index($offset=null){
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/contents/index/';
$config['total_rows'] = 200;
$config['per_page'] = 2;
$this->pagination->cur_page = $offset;
$this->pagination->initialize($config);
$data['contents'] = $this->content_model->get_content($config['per_page'],$offset);
$data['title'] = 'Contents';
$this->load->view('template/header', $data);
$this->load->view('pages/index', $data);
$this->load->view('template/footer');
}
whole data showing in 1 page because you are not passing limit in model function.you getting 404 because you forgot /
at the end of the base_url
in model
function get_content($limit,$offset) {
$query = $this->db->get('content',$limit,$offset);
return $query->result();
}
in view
echo $this->pagination->create_links(); //put this in view not in controller
use have to write the routes to get the values of the page number . You have to add this line to your routes.php in application/config folder
CODE: Routes.php
$route['index/(:num)'] = 'index/$1';
index function in index.php :
function index($current_page){
$this->load->library('pagination');
$config['base_url'] = 'http://localhost/contents/index';
$config['total_rows'] = 200;
$config['per_page'] = 2;
$this->pagination->initialize($config);
$this->pagination->cur_page = $current_page;
echo $this->pagination->create_links();
$data['contents'] = $this->content_model->get_content();
$data['title'] = 'Contents';
$this->load->view('template/header', $data);
$this->load->view('pages/index', $data);
$this->load->view('template/footer');
}