Membuat Paging Di Codeigniter

3
MEMBUAT PAGING DI CODEIGNITER Dec 23, 2009 Membuat Paging di CodeIgniter Mengapa kita perlu menggunakan paging pada sebuah applikasi web? Anda mungkin akan bertanya-tanya tentang hal itu. Paging adalah salah satu cara untuk melakukan optimasi query. Dalam sebuah kasus saya pernah mengerjakan project yang datanya dalam satu tabel itu sampai ratusan ribu record. Seandainya data tersebut di tampilkan pada sebuah halaman web saja, maka akan menghabiskan tempat. Dan akan terasa tidak enak untuk dilihat. Oleh karena itu digunakan paging untuk mengantisipasi hal itu. CodeIgniter mempunyai class pagination untuk mengatasi hal tersebut dan penggunaannya pun juga sangat mudah. Untuk lebih jelasnya mari kita praktekkan saja. Disini nanti kita akan buat sebuah controller dengan nama admin.php dan disimpan pada folder application/controllers. Masukkan code berikut ini kedalam file tersebut. view plain copy to clipboard print ? 1. <?php 2. class admin extends Controller { 3. 4. function admin() 5. { 6. parent::Controller(); 7. $this->load->model('admin_model'); 8. } 9. 10. function artikel() { 11. $data=$this->admin_model->artikel(); 12. $this->load->view('mypaging',$data); 13. } 14. } 15. ?> Kemudian buatlah file admin_model.php dan simpan ke dalam folderapplication/models kemudian masukkan code berikut ini : view plain copy to clipboard print ? 1. <?php 2. class admin_model extends Model{ 3. 4. function admin_model(){ 5. parent::Model(); 6. } 7. 8. function artikel(){ 9. $string_query = "select * from artikel order by artikelid"; 10. $query = $this->db->query($string_query); 11. $config['base_url'] = base_url().'index.php/admin/artikel/'; 12. $config['total_rows'] = $query->num_rows(); 13. $config['per_page'] = '30'; 14. $num = $config['per_page']; 15. $offset = $this->uri->segment(3); 16. $offset = ( ! is_numeric($offset) || $offset < 1) ? 0 : $off set; 17. 18. if(emptyempty($offset))

Transcript of Membuat Paging Di Codeigniter

Page 1: Membuat Paging Di Codeigniter

MEMBUAT PAGING DI CODEIGNITER

Dec 23, 2009   

Membuat Paging di CodeIgniter

Mengapa kita perlu menggunakan paging pada sebuah applikasi web? Anda mungkin akan bertanya-tanya tentang hal itu. Paging adalah salah satu cara untuk melakukan optimasi query. Dalam sebuah kasus saya pernah mengerjakan project yang datanya dalam satu tabel itu sampai ratusan ribu record. Seandainya data tersebut di tampilkan pada sebuah halaman web saja, maka akan menghabiskan tempat. Dan akan terasa tidak enak untuk dilihat. Oleh karena itu digunakan paging untuk mengantisipasi hal itu.

CodeIgniter mempunyai class pagination untuk mengatasi hal tersebut dan penggunaannya pun juga sangat mudah. Untuk lebih jelasnya mari kita praktekkan saja.

Disini nanti kita akan buat sebuah controller dengan nama admin.php dan disimpan pada folder application/controllers. Masukkan code berikut ini kedalam file tersebut.view plain copy to clipboard print ?

1. <?php  2. class admin extends Controller {  3.   4.     function admin()  5.     {  6.         parent::Controller();  7.         $this->load->model('admin_model');                  8.     }  9.       10.     function artikel() {                              11.         $data=$this->admin_model->artikel();  12.         $this->load->view('mypaging',$data);                13.     }  14. }  15. ?>  

Kemudian buatlah file admin_model.php dan simpan ke dalam folderapplication/models kemudian masukkan code berikut ini :view plain copy to clipboard print ?

1. <?php  2. class admin_model extends Model{   3.        4.     function admin_model(){   5.         parent::Model();  6.     }  7.       8.     function artikel(){  9.         $string_query       = "select * from artikel order by artikelid";  10.         $query          = $this->db->query($string_query);              11.         $config['base_url']     = base_url().'index.php/admin/artikel/';  12.         $config['total_rows']   = $query->num_rows();  13.         $config['per_page']     = '30';  14.         $num            = $config['per_page'];  15.         $offset         = $this->uri->segment(3);  16.         $offset         = ( ! is_numeric($offset) || $offset < 1) ? 0 : $off

set;  17.           18.         if(emptyempty($offset))  19.         {  20.             $offset=0;  21.         }  22.           23.         $this->pagination->initialize($config);         24.           

Page 2: Membuat Paging Di Codeigniter

25.         $data['query']      = $this->db->query($string_query." limit $offset,$num");    

26.         $data['base']       = $this->config->item('base_url');  27.       28.         return $data;  29.     }  30. }  31. ?>  

Kemudian buatlah file mypaging.php dan simpan kedalam folderapplication/views. Masukkan code berikut ini ke dalam file tersebut.view plain copy to clipboard print ?

1. <html>    2. <head>    3. <title>My Paging</title>    4. </head>    5. <body>  6. <table>  7. <thead>  8.     <tr>        9.         <th>Artikel ID</th>                               10.         <th>Judul</th>  11.         <th>Date</th>  12.         <th>Post by</th>                                  13.         <th>View</th>  14.     </tr>  15. </thead>  16. <tbody>  17.     <?     18.     foreach($query->result() as $row)  19.     {                     20.         echo   21.         "<tr>           22.             <td>$row->artikelid</td>  23.             <td>$row->title</td>  24.             <td>$row->artikeldate</td>                     25.             <td>$row->postby</td>                                          26.             <td>$row->view</td>  27.         </tr>";         28.     }  29.     ?>         30. </tbody>  31. </table>  32. <p align="center"><?=$this->pagination->create_links();?></p>  33. </body>  34. </html>  

Tiga file sudah kita buat, selanjutnya akan saya jelaskan code-code pada masing-masing file tersebut. Di dalam controller admin.php tedapat constructor yang memanggil file admin_model.php. Dibawahnya lagi terdapat code berikut:view plain copy to clipboard print ?

1. function artikel() {                              2.     $data=$this->admin_model->artikel();  3.     $this->load->view('mypaging',$data);                4. }  

 

Fungsi artikel ini akan memanggil fungsi artikel() yang ada pada admin_model dan menyimpan return valuenya ke dalam variable $data. Setelah itu fungsi ini akan memanggil file mypaging.php yang ada di folder views dengan memberikan parameter $data.

Page 3: Membuat Paging Di Codeigniter

Di dalam admin_model.php sendiri terdapat fungsi artikel. Di dalam fungsi ini kita akan melakukan query untuk mengambil data di table artikel. Berikut ini scriptnya:view plain copy to clipboard print ?

1. $string_query   = "select * from artikel order by artikelid";  2. $query      = $this->db->query($string_query);  

Kita juga akan melakukan konfigurasi untuk paging yang kita buat.

    $config['base_url'] = base_url().'index.php/admin/artikel/';

Script di atas digunakan untuk mengatur arah link dari paging yang kita buat.

    $config['total_rows'] = $query->num_rows();

Script di atas digunakan untuk mengetahui total record dari query yang kita jalankan.

    $config['per_page'] = '30';

Script di atas digunakan untuk mengatur jumlah baris yang akan di tampilkan dalam satu halaman.

 

Sekarang kita akan melihat script dalam file mypaging.php di folder view. Di situ terdapat script untuk menampilkan paging.

    <?=$this->pagination->create_links();?>

Script ini akan membuat paging secara otomatis. Mudah bukan ?

 

Selamat mencoba !!

 posted by : ade