set current page in Codeigniter pagination set current page in Codeigniter pagination codeigniter codeigniter

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'] = '&laquo';$config['prev_tag_open'] = '<li class="prev">';$config['prev_tag_close'] = '</li>';$config['next_link'] = '&raquo';$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);