Membuat paging di codeigniter


Paging CodeIgniter

PENDAHULUAN

Pada artikel sebelumnya tentang codeigniter saya membuat aplikasi bukutamu sederhana. kali ini saya menambahkan fitur paging pada aplikasi bukutamu tersebut agar jika datanya sudah banyak bisa menghemat space halaman untuk menampilkan bukutamu.

PERSIAPAN

Seperti yang sudah kita ketahui kita menggunakan konsep MVC dalam membuat aplikasi menggunakan framework CI. oleh karena itu silahkan dilihat pada contoh aplikasi saya yang berhubungan dengan paging pada file-file berikut ini :

  1. system/application/controllers/proses.php 
  2. system/application/models/guest_model.php
  3. system/application/views/view_guest.php
PROSES.PHP
function Proses(){
    parent::Controller();
    $this->load->model('Guest_model','',TRUE);
    $this->load->library('pagination');
}
function view_guest(){
    $data['data_guest']=$this->Guest_model->tampil_data();
    $data['isi']='view_guest';
    $this->load->view('template',$data);
}
GUESTMODEL.PHP
function tampil_data(){
    $string_query           = "select * from guestbook order  
        by id_gb asc";
    $query              = $this->db->query($string_query);
    $config['base_url']     = base_url().'index.php/proses/
 view_guest/';
    $config['total_rows']   = $query->num_rows();
    $config['per_page'] = '2';
    $num                = $config['per_page'];
    $offset             = $this->uri->segment(3);
    $offset             = ( ! is_numeric($offset) || 
        $offset < 1) ? 0 : $offset;  

    if(empty($offset))
    {
        $offset=0;
    }  

    $this->pagination->initialize($config);
    $data_guest= $this->db->query($string_query." 
 limit $offset,$num");
    return $data_guest;
}
VIEWGUEST.PHP
<?php
$flashmessage=$this->session->flashdata('message');
echo ! empty($flashmessage) ? '<p class="message">' .
$flashmessage . '</p>': '';
?>
<table border="1" class='datatable'>
        <tr>
        <th>Nomor</th>
    <th>Nama</th>
    <th>Email</th>
    <th>Pesan</th>
    </tr>
    <?php
    $offset = $this->uri->segment(3);
    foreach($data_guest->result() as $row){
    ?>
    <tr>
    <td><?php echo $offset=$offset+1; ?></td>
    <td><?php echo $row->nama; ?></td>
    <td><?php echo mailto($row->email,$row->email);?></td>
    <td><?php echo $row->pesan; ?></td>
    </tr>
<?php
    }
?>
</table>
<p align="center"><b><?php echo $this->pagination->create_links();
?></b></p>

DATABASE

Untuk contoh databasenya sudah saya satukan kedalam  folder tamplate-paging dengan nama file db_ci.sql.zip silahkan di import melalui phpmyadmin.

DOWNLOAD

http://www.4shared.com/file/RkzJFZyQ/template-paging.html

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Depok, 4-11-2011

noname

11 Responses

  1. mas ko masih masih ada yang erorr ya mas ini kenapa ya mas

    ni contoh erorrnya :
    pagination->create_links();?>

    Like

    • errornya gimana mas? saya gunakan Codeigniter 1.7.2 di library nya sudah ada library paggination.php . terimakasih🙂

      Like

  2. mungkin kesalahannya disini mas
    $this->pagination->create_links();?>

    tanda “sama dengan” setelah tag pembuka PHP di ganti dengan kata “php echo” untuk menampilkan nomor pagingnya di php versi 5

    semoga berhasil…

    Like

  3. mas, kok yg punya saya masih error? error nya gini.

    Fatal error: Call to a member function initialize() on a non-object in C:\xampp\htdocs\penjualan\application\models\ModelMinStock.php on line 27

    Like

  4. ane aku in web ente super lengkap,tpi kalo ane lagi kesusahan bkin web tlong bntu ya

    Like

    • kyanya ane knal agan ini

      Like

  5. mas gmana caranya datanya tampil 10 data, dan sisanya di page ke 2,3,4 dst..

    Like

  6. duh mas klo saya pake CI 2.0.1 bisa dipake gak ya source code ini?

    Like

  7. pagination->create_links();?>

    Like

  8. terima kasih mas, blog anda sangat membantu

    Like

  9. Mas Jelasin yg auto number colom itu donk,, saya dah coba hasilnya ketika page pertama no 1 – 15 .. seharusnya ketika pindah next page ke2 no 16 -17, tpi yg muncul no 3 – 17,,dst

    script yg sy input di view:

    uri->segment(4)+1; //sy pakai uri_segment yg ke 4;
    if($bb_actual){foreach($bb_actual as $row){ ?>

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: