Tuesday, 3 March 2015

How To create Pagination in codeigniter

How To create Pagination in codeigniter

Here I am Create Pagination Example in Codeigniter.

The Model

create model Model/news_model.php

provide a count of all the records in the News table, and retrieve a list of news from the table

The record_count() method returns the number of records and is needed because one of the options in the $config array for the pagination library is $config["total_rows"]

The get_news() method retrieves a list of all the records from the News table.
there are two arguments $start, $limit.
The arguments will be set in the controller.

<?php class News_model extends CI_model{
    public function __contruct(){
    public function record_count() {
       return $this->db->count_all("news");
    public function get_news($limit, $start){
          $this->db->limit($limit, $start);
           $query = $this->db->get("news");
               if ($query->num_rows() > 0) {
                   foreach ($query->result() as $row) {
                       $data[] = $row;
                   return $data;
              /*$query = $this->db->get('news');
              return $query->result_array();*/

The Controller

create controller controllers/News.php

Here We can Load model and pagination library and also added helper of

check method in index.

<?php class News extends CI_Controller {
    public function  __construct(){
    public function index(){
$config = array();      
$config['base_url'] = base_url().'index.php/news/';
$config['total_rows'] = $this->news_model->record_count();
$config['per_page'] = 2;
$config["uri_segment"] = 2;


$page = ($this->uri->segment(2)) ? $this->uri->segment(2) : 0;
$data["results"] = $this->news_model->get_news($config["per_page"], $page);
 $data["links"] = $this->pagination->create_links();
       //$data['news'] = $this->news_model->get_news();
       $data['title'] = 'News archive';

   $this->load->view('templates/header', $data);
   $this->load->view('news/index', $data);


The View

create file  views/index.php
//echo "<pre>";

foreach($results as $result){?>
       <h2><?php  echo $result->title; ?></h2>
       <div class="main">
       <?php  echo $result->text; ?>
       <p><a href="view/<?php   echo $result->slug; ?>">View article</a></p>
<?php }
echo $links; ?>

in last config/routes.php changes.

$route['news/(:num)'] = 'news/index';

set this in your routes.php


Thank You For Comment