Database

Membuat Pagination

Untuk membuat contoh Pagination, kita buat dulu tabel pagination misalnya

create table pagination(
  NoID int,
  IsiNo varchar(20)
);

Kemudian kita isi tabelnya seperti berikut :

INSERT INTO pagination VALUES(1,'Data ke satu');
INSERT INTO pagination VALUES(2,'Data ke dua');
INSERT INTO pagination VALUES(3,'Data ke tiga');
INSERT INTO pagination VALUES(4,'Data ke empat');
INSERT INTO pagination VALUES(5,'Data ke lima');
INSERT INTO pagination VALUES(6,'Data ke enam');
INSERT INTO pagination VALUES(7,'Data ke tujuh');
INSERT INTO pagination VALUES(8,'Data ke delapan');
INSERT INTO pagination VALUES(9,'Data ke sembilan');
INSERT INTO pagination VALUES(10,'Data ke sepuluh');
INSERT INTO pagination VALUES(11,'Data ke sebelas');
INSERT INTO pagination VALUES(12,'Data ke duabelas');
INSERT INTO pagination VALUES(13,'Data ke tigabelas');
INSERT INTO pagination VALUES(14,'Data ke empatbelas');
INSERT INTO pagination VALUES(15,'Data ke limabelas');

Sekarang kita buat Model,Controller, dan Views-nya

MODEL
Model digunakan untuk mengambil data dari database.
Buatlah sebuah file dengan nama mpagination.php dan simpan di folder
application/models/
Isi dari mpagination.php adalah sebagai berikut :


<?
class Mpagination extends Model {

  function Mpagination(){
   parent::Model();
   }

  function AmbilData($num, $offset) {
   $query = $this->db->get('pagination', $num, $offset);
   return $query;
   }

}
?>

CONTROLLER
Buatlah sebuah file dengan nama pagination.php dan simpan di folder
application/controllers/
Isi dari pagination.php adalah sebagai berikut :

<?
class Pagination extends Controller {

  function __construct() {
    parent::Controller();
    $this->load->helper('url');
    $this->load->database();
    }

  function index() {
    //load pagination class
    $this->load->library('pagination');

    // Pengaturan konfigurasi untuk pagination
    $config['base_url'] = base_url().'index.php/pagination/index/';
    $config['total_rows'] = $this->db->count_all('pagination');
    $config['per_page'] = '4';
    $config['first_link'] = 'Awal';
    $config['last_link'] = 'Akhir';
    $config['next_link'] = 'Selanjutnya';
    $config['prev_link'] = 'Sebelumnya';
    $this->pagination->initialize($config);

    //load model and ambil hasilnya
    $this->load->model('Mpagination');
    $data['hasil'] = $this->Mpagination->AmbilData($config['per_page'],$this->uri->segment(3));

    // load the HTML Table Class
    $this->load->library('table');
    $this->table->set_heading('NoID', 'IsiNo');

    // load the view
    $this->load->view('v_pagination', $data);
    }

}
?>

VIEWS
Buatlah sebuah file dengan nama v_pagination.php dan simpan di folder
application/views/
Isi dari v_pagination.php adalah sebagai berikut :

<html>
<head>
<title>Membuat Pagination</title>
</head>
<body>
  <h1>Membuat Pagination</h1>
  <? echo $this->table->generate($hasil); ?>
  <? echo $this->pagination->create_links(); ?>
</body>
</html>

Untuk lebih jelasnya silahkan lihat CodeIgniter User Guide tentang Pagination Class