Husnain Rafaqat
Husnain Rafaqat

Reputation: 1

Pagination in Codeigniter not working properly

when i add pagination in codeigniter it shows all records on every page. i don't know what the problem is : Here Is my code : Controller:

public function clients(){
     $this->load->model('mindex');
     $this->load->library('pagination');
     $dataclient['records'] = $this->mindex->clientRecords();
     $this->load->helper('url');
     //pagination configuration
     $config['base_url'] = site_url('cpromo/cindex/clients'); 
     $config['total_rows'] = count($dataclient['records']);
     $config['per_page'] = 2;
     $config["uri_segment"] = 4;

     $this->pagination->initialize($config);
     $this->load->view('vpromo/clients.php',$dataclient , $config['total_rows'] ,    $config['per_page'] , $page );

    }

And Here is my View :

            <?php foreach( $records as $row ): ?>
               <h3><?php echo $row->name; ?></h3>
                <p><?php echo $row->description; ?></p>
               <?php endforeach; ?>
                  <?php echo  $this->pagination->create_links(); ?>

Thanks in advance

Upvotes: 0

Views: 116

Answers (2)

Anil Sharma
Anil Sharma

Reputation: 1

public function set_pagination($base_url, $total_rows, $per_page)
    {
        $config['base_url'] = $base_url;
        $config['total_rows'] = $total_rows;
        $config['per_page'] = $per_page;

        $config['use_page_numbers'] = TRUE;
        $config['reuse_query_string'] = TRUE;

        $config['full_tag_open'] = '<ul class="pagination">';
        $config['full_tag_close'] = '</ul>';

        $config['first_link'] = FALSE;
        $config['first_tag_open'] = '<li class="page-item">';
        $config['first_tag_close'] = '</li>';

        $config['last_link'] = false;
        $config['last_tag_open'] = '<li class="lastlink">';
        $config['last_tag_close'] = '</li>';

        $config['next_link'] = 'Next';
        $config['next_tag_open'] = '<li class="page-item">';
        $config['next_tag_close'] = '</li>';

        $config['prev_link'] = 'Prev';
        $config['prev_tag_open'] = '<li class="page-item">';
        $config['prev_tag_close'] = '</li>';

        $config['cur_tag_open'] = '<li class="page-item active"><span class="page-link">';
        $config['cur_tag_close'] = '</span></li>';

        $config['num_tag_open'] = '<li class="page-item">';
        $config['num_tag_close'] = '</li>';

        $config['attributes'] = array('class' => 'page-link');

        $this->pagination->initialize($config);

        return $this->pagination->create_links();
    }

Upvotes: 0

sheepy
sheepy

Reputation: 56

You don't use offset and limit in your sql just query all records -> send to pages

Here is a good tutorial for you ;-) Pagination with CodeIgniter

Upvotes: 1

Related Questions