set current page in Codeigniter pagination
You need to remember two things whenever you are going to implement pagination in Codeigniter:
First thing Configuration related to page generation which is actually:
// Loads pagination library $this->load->library('pagination'); // @params $url = your controller + method path $config['base_url'] = base_url() . $url; // @params $totalRows = Total result found in query $config['total_rows'] = $totalRows; // @params $perPage = In your case it is 50 $config['per_page'] = $perPage; // @params $segment = This is what you are missing in your code. Segment is the factor from where system reads which page records need to be shown $config['uri_segment'] = $segment; $this->pagination->initialize($config);
Second Thing Pagination configuration related to designing part:
$config['full_tag_open'] = '<ul class="pagination pagination-sm m-t-none m-b-none">';$config['full_tag_close'] = '</ul>';$config['prev_link'] = '<i class="fa fa-chevron-left"></i>';$config['prev_tag_open'] = '<li>';$config['prev_tag_close'] = '</li>';$config['next_link'] = '<i class="fa fa-chevron-right"></i>';$config['next_tag_open'] = '<li>';$config['next_tag_close'] = '</li>';$config['cur_tag_open'] = '<li class="active"><a href="#">';$config['cur_tag_close'] = '</a></li>';$config['num_tag_open'] = '<li>';$config['num_tag_close'] = '</li>';$config['first_tag_open'] = '<li>';$config['first_tag_close'] = '</li>';$config['last_tag_open'] = '<li>';$config['last_tag_close'] = '</li>';$config['first_link'] = '<i class="fa fa-chevron-left"></i> <i class="fa fa-chevron-left"></i>';$config['last_link'] = '<i class="fa fa-chevron-right"></i><i class="fa fa-chevron-right"></i>';$this->pagination->create_links();
This is the running script which I have been using in my projects. Working fine. You need to check uri_segment you are passing during initialization.
Let me know if you face any issue.
Try this -
$config = array(); $config["base_url"] = base_url() . "index.php/controller/methods"; $config["total_rows"] = $this->db->count_all("db_table_name"); $config["per_page"] = 20; $config["uri_segment"] = 3; $this->load->library("pagination"); $this->pagination->initialize($config); $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0; $data["results"] = $this->db->limit($config["per_page"],$page)->get("db_table_name")->result(); $data["links"] = $this->pagination->create_links(); $this->load->view('view_page',$data);
The view_page.php -
<table class="table-bordered"><?php foreach($results as $v){?><tr> <td><?php echo $v->col1; ?></td> <td><?php echo $v->col2; ?></td></tr><?php } ?></table><?php print_r($links); ?>
// Select query to count all possible records, and assing it to here//$count = //product pagination$config['base_url'] = base_url() . 'index.php/report/teee/';$config['total_rows'] = $count;$config['per_page'] = 50;$config['uri_segment'] = 3;$limit = $config['per_page'];// Bootstrap Stylings$config['full_tag_open'] = '<ul class="pagination">';$config['full_tag_close'] = '</ul>';$config['first_link'] = false;$config['last_link'] = false;$config['first_tag_open'] = '<li>';$config['first_tag_close'] = '</li>';$config['prev_link'] = '«';$config['prev_tag_open'] = '<li class="prev">';$config['prev_tag_close'] = '</li>';$config['next_link'] = '»';$config['next_tag_open'] = '<li>';$config['next_tag_close'] = '</li>';$config['last_tag_open'] = '<li>';$config['last_tag_close'] = '</li>';$config['cur_tag_open'] = '<li class="active"><a href="#">';$config['cur_tag_close'] = '</a></li>';$config['num_tag_open'] = '<li>';$config['num_tag_close'] = '</li>';$this->pagination->initialize($config);$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;$data['links'] = $this->pagination->create_links();$data['dataSource'] = $this->Sample_Model->select_query_for_get_data($limit,$page);