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'] = '&gt;';

$config['prev_link'] = '&lt;';

$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… ^_^

VN:F [1.6.8_931]
Rating: 6.5/10 (2 votes cast)
VN:F [1.6.8_931]
Rating: 0 (from 0 votes)

Popularity: 1% [?]

  • Share/Bookmark

There Are 3 Responses So Far. »

  1. mantab bung……

    UN:F [1.6.8_931]
    Rating: 0.0/5 (0 votes cast)
    UN:F [1.6.8_931]
    Rating: 0 (from 0 votes)
  2. 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!!

    UN:F [1.6.8_931]
    Rating: 5.0/5 (1 vote cast)
    UN:F [1.6.8_931]
    Rating: 0 (from 0 votes)
  3. 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…

    UA:F [1.6.8_931]
    Rating: 5.0/5 (1 vote cast)
    UA:F [1.6.8_931]
    Rating: 0 (from 0 votes)

Post a Response

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image