Codeigniter Pagination - I'm stumped Codeigniter Pagination - I'm stumped codeigniter codeigniter

Codeigniter Pagination - I'm stumped


I think I might know whats going on. You need to tell the pagination library which segment of the URL holds the offset.

For example, if your URL is /products/browse/all/20, you need to tell CodeIgniter that the 4th segment holds the offset

$config['uri_segment'] = 4;

The default for the library is URL segment #3. If the offset in your URL is not in position 3 and you forget to tell the pagination library this, it will interpret the wrong segment as being the offset. This can lead to the kind of behaviour you describe above where the pagination does not appear to change.


I also came across same error and finally was able to fix it. Just thought to share the code script, may be someone will be able to use it.

=====> Controller

// Default functionfunction index(){       // Display listing          $this->listing();           }function listing($argDataArr = array()) {       // Initialize pagination    $pageArr['base_url']    = $this->config->item('categoryBeAction')."/listing";    $pageArr['total_rows']  = 15; //assume    $pageArr['per_page']    = 5; //assume    //You need to tell the pagination library which segment of the URL holds the offset.            $pageArr['uri_segment']  = 4; //URL eg: http://localhost/myproject/index.php/backend/category/listing/5     $this->pagination->initialize($pageArr);     // Get list of categories    // Create data array and pass data to get function    $dataArr['limitRows']    = $pageArr['per_page'];    $dataArr['limitOffset']  = $this->uri->segment(4); //the dynamic value from this segment will be used as offSet    $viewArr['listArr'] = $this->category_model->get($dataArr);    //rest of the code...}   

======> Model

function get($argDataArr = array()){       //Select the fields required    $this->db->select('id, name, parent_id, status');    $this->db->from($this->config->item('tbl_category','dbtables'));    $this->db->where('parent_id', $parentId);       $this->db->limit($argDataArr['limitRows'], $argDataArr['limitOffset']);     $this->db->order_by("name", "asc");        $query_result = $this->db->get();     return  $query_result;}

======> View page

            <!--  Pagination -->                                <tr>             <td align="right">                <?php  echo $this->pagination->create_links(); ?>                                       </td>             </tr>


Which example?

echo $this->pagination->create_links();

^^Is this in your view?