Jumat, 13 Maret 2015

,

Search dan Paging dengan Codeigniter



Tutorial membahas framework codeigniter, tentang menggunakan library pagination untuk paging semua data dan juga paging data hasil pencarian. menerapkan library pagination pada hasil pencarian data.
Pertama kita siapkan dulu sampel data, kalau bisa sampel datanya lebih dari 100 record agar lebih mudah untuk menerapkan paging. kalau tidak punya, mungkin bisa menggunakan sampel data ini.test_table.sql
setelah itu import tabel tersebut ke database. lakukan instalasi dan setting konfigurasi awal codeigniter, library database dan helper url sebaiknya diautoload saja.
untuk mempercantik tampilan saya menggunakan framework bootstrap,apa itu framework bootstrap. mgkn lain kali saya akan bahas sedikit tentang bootstrap tapi tidak sekarang :D . kita bisa liat ada sebuah kolom input untuk pencarian. dalam tutorial ini saya menggunakan method GET bkn post. ini untuk mempermudahkan,krn value dari input akan muncul di url yang nantinya bisa digunakan sebagai parameter. sedangkan jika menggunakan method POST maka value dari input tidak akan muncul di url.
Buat sebuah view untuk menampilkan data ke dalam tabel dan sebuah link utk pagingnya. beri nama view ini search_paging_view.php simpan pada folder application/views



Buat Sebuah controller, misal kita kasih nama paging_search.php,simpan pada folder application/controllers
paging_search.php

method __contruct : di fungsi ini, jangan lupa untuk meload library yang dibutuhkan (library pagination class) dan jg model (m_example).
method index : menampilkan semua data  dalam tabel
method search : fungsi utk menampilkan data hasil pencarian ke dalam tabel
hal yang perlu diperhatikan dalam mengimplementasikan library pagination ini adalah pengaturan limit dan offset, yang nantinya digunakan untuk mengambil data. limit berguna utk membatasi jml data yg diambil,sedangkan offset adalah posisi awal data akan diambil. misal offset = 5, limit = 10, berarti mengambil data sebanyak 10 mulai dari data ke-5 (urutan dimulai dari 0 bukan 1). dan secara default library pagination ci menggenerate link berupa offset. sedangkan pada tutorial ini saya menggunakan pengaturan $config['use_page_numbers'] = TRUE.
jadi library akan menggenerate links paging berupa nomor halaman(1,2,3 dst). jadi link tersebut tidak bisa langsung digunakan sebagai offset, kita hrs menghitung offsetnya dulu dengan rumus offset = (page_number/no_halaman x limit) - limit.penghitungan bisa kita lihat pada script berikut :
$offset = ($page_number  == 1) ? 0 : ($page_number * $config['per_page']) - $config['per_page'];
Terakhir, buat model dan beri nama m_example.php. Simpan pada folder application/models
m_search.php


Share: