Membuat Paging di Codeigniter
Sebagai lanjutan dari tulisan saya mengenai Memainkan MVC di dalam Codeigniter, saya menulis topic berikut ini untuk memperbaiki output dari program saya yang terdahulu tersebut.
Pada output penulisan saya sebelumnya adalah sebagai berikut :
buku
pensil
meja
kursi
papan tulis
kertas
sapu tangan
komputer
laptop
lampu
Output tersebut memiliki panjang ke bawah sesuai dengan banyaknya data yang ingin ditampilkan. Mungkin bagi sebagian orang, output dengan panjang ke bawah tersebut tidaklah menjadi persoalan yang penting, tetapi bagaimana jika output yang ingin ditampilkan memiliki jumlah yang sangat banyak? Tentunya hal ini dapat menyebabkan si pengguna data tersebut menjadi malas dan bosan karena harus menekan scroll ke bawah secara berulang-ulang untuk melihat data yang diinginkan.
Dengan menggunakan paging, masalah tersebut dapat terselesaikan. Karena jika anda menggunakan paging, jumlah data yang ingin ditampilkan dapat disesuaikan dengan jumlah maksimum dari data pada tiap-tiap halaman. Lalu bagaimana dengan data yang lainnya? Data yang lainnya dapat diakses di pages atau halaman lainnya lagi dengan menekan atau mengklik halaman yang diinginkan. Hal ini diibaratkan seperti halnya buku yang memiliki banyak data berupa kata-kata tetapi data tersebut dibagi-bagi ke beberapa halaman yang berbeda.
Untuk lebih jelasnya anda dapat mencoba program berikut ini.
Seperti halnya pada program terdahulu yang saya berikan, hal yang harus diperhatikan adalah konfigurasi pada database yang digunakan :
Akses file database.php yang terletak pada :
..\xampp\htdocs\CI\system\application\config\database.php
Pastikan bahwa konfigurasi pada file database.php anda sudah sama dengan konfigurasi-konfigurasi dibawah ini, kecuali untuk hostname, username, password, dan database sesuaikan dengan konfigurasi pada komputer anda.
$active_group = "default";
$active_record = TRUE;
$db['default']['hostname'] = "localhost";
//sesuaikan dengan hostname database server anda
$db['default']['username'] = "root";
//sesuaikan dengan username untuk koneksi ke database anda
$db['default']['password'] = "";
//sesuaikan dengan password untuk koneksi ke database anda
$db['default']['database'] = "db_benda"; //sesuaikan dengan nama database anda
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = FALSE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
Kemudian, akses file autoload.php anda di
..\xampp\htdocs\CI\system\application\config\autoload.php
dan pastikan Codeigniter akan meload secara otomatis file helper url :
$autoload['helper'] = array('url');
Setelah mengkonfigurasi beberapa hal diatas, mari kita mulai membuat web sederhana ini.
1. Buat Controller dengan nama benda.php. File yang dibuat ini diletakkan pada :
..\xampp\htdocs\CI\system\application\controllers\benda.php
Isi dari Controller tersebut adalah sebagai berikut :
<?php
class Benda extends Controller{
function Benda()
{
parent::Controller();
$this->load->model('model_benda');
$this->load->library('pagination');
}
function index($page=null)
{
$config['base_url'] = base_url().'index.php/benda/index/';
$config['total_rows'] = $this->model_benda->total_row();
$config['per_page'] = '5';
$config['first_link'] = 'Awal';
$config['last_link'] = 'Akhir';
$config['next_link'] = '>';
$config['prev_link'] = '<';
$config['cur_page'] = $page;
$this->pagination->initialize($config);
$data['data_benda'] = $this->model_benda->ambil_data($config['per_page'], $config['cur_page']);
$this->load->view('benda_view',$data);
}
}
2. Buat Model dengan nama model_benda.php. File yang dibuat ini diletakkan pada :
..\xampp\htdocs\CI\system\application\models\model_benda.php
dan isi dari file tersebut adalah :
<?php
class Model_benda extends Model {
function Model_benda() {
parent::Model();
}
function ambil_data($num,$offset) {
$this->db->from('tbl_benda');
$query = $this->db->get('',$num,$offset);
return $query;
}
function total_row(){
$this->db->from('tbl_benda');
return $this->db->count_all_results();
}
}
3. Dan yang terakhir adalah membuat View dengan nama benda_view.php. File yang dibuat ini diletakkan pada :
..\xampp\htdocs\CI\system\application\views\benda_view.php
<?php
foreach($data_benda->result() as $item){
echo $item->nama_benda .'<br>';
}
echo $this->pagination->create_links()?>
Silahkan anda coba!!!
Jika terjadi error atau ada hal yang anda tidak mengerti dari program diatas, silahkan bertanya… ^_^
Popularity: 1% [?]



Comment by DEDI TIRA PALINGGI on 12 January 2010:
mantab bung……
Comment by ridwan on 3 February 2010:
mantab!!..
cuma masih ada masalah neh!!
kenapa yah!!.. ga ada pesan sitax error!! n tampilan jalan cuma pas di pagination linknya di klik yang no 2 ato seterusnya ga jalan!! kira” apa yang salah ya!! mohon bantuanya:D
tetep aja data yang itu” aja!!
batas untuk menampilkanya dah bisa misal 5 yang keluar data ada 5 jg!!
cuma ya ga bisa unt seterusnya!!
Comment by BONAVENTURA PINANDITO on 14 March 2010:
coba check lagi…
sapa tau ada syntax yang belum ditulis…
terutama di bagian function index pada controller benda
^_^…
klw masih gak bisa juga, kasih tau lagi ya…