Pagination Codeigniter Pagination Codeigniter codeigniter codeigniter

Pagination Codeigniter


You've already created links in your controller with this:

$data['pagination'] = $this->pagination->create_links();

so you just need to echo $pagination in your view:

<?php echo $pagination; ?>

You didn't load the pagination library in your view, just your controller - so you can't use the create_links() method in your view. But since you did use that method in your controller and pass it through to your view in the $data array, you can use that variable in your view.


$this->load->model('reciever');                $this->load->library('uri');                $this->load->library('pagination');                $config['base_url'] = base_url(). 'users_ci/users';                $config['total_rows'] = $this->reciever->getRows();                $config['per_page'] = 4;                 $config['full_tag_open'] = '<ul class="pagination">';                $config['full_tag_close'] = '</ul>';                            $config['prev_link'] = '«';                $config['prev_tag_open'] = '<li>';                $config['prev_tag_close'] = '</li>';                $config['next_link'] = '»';                $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["num_links"] = round( $config["total_rows"] / $config["per_page"] );                $config['users']= $this->reciever->getUsers(4,$this->uri->segment(3));                $this->pagination->initialize($config);                $config['pages'] = $this->pagination->create_links();                $this->load->view('users',$config);

this is the function that i have in my controler!and in the view i have this one

<div><?php echo $pages; ?></div>

with this you can use bootstrap also for the pagination view. You must query your database exactly with the per page you want to saw.


Searching Articles in CodeIgniter

Step 1: Create model search function.

public function search($query){   $q=$this->db->from('articles')      ->like('title',$query)      ->get();   return $q->result();}

Step 2: Create search function in controller.

public function search(){   $this->load->library('form_validation');   $this->form_validation->set_rules('query','Query','required');   if(! $this->form_validation->run())    $this->index();   $query=$this->input->post('query');   $this->load->model('articlesmodel','articles');   $articles=$this->articles->search($query);   $this->load->view('public/search_results',compact('articles'));}

Step 3: Create search_results in view.

<?php include ('public_header.php');?><div class="container">   <h1>Serach Results</h1>   <table class="table">    <thead>     <tr>      <td>Sr No.</td>      <td>Article Title</td>      <td>Published On</td>     </tr>    </thead>    <tbody>     <tr>    <?php if(count($articles)):?>     <?php $count=$this->uri->segment(3,0);?>     <?php foreach($articles as $article ):?>      <td><?= ++$count?></td>      <td><?= $article->title?></td>      <td><?= "Date" ?></td>     </tr>     <?php endforeach;?>    <?php else: ?>     <tr>      <td colspan="3"> No Records Found.</td>     </tr>     <?php endif;?>    </tbody>   </table></div><?php include ('public_footer.php');?>