Pengen share ilmu ahh.. bosen share jalan-jalan mulu, hehe.. *tapi tenang nanti saya share info jalan-jalan lagi ^_^*
Yap.. barusan abis ngulak-ngulik buat paging di CodeIgniter *framework kesayangan, sebenernya baru belajar seh, dipaksa untuk menggunakan framework demi kelancaran, haha.. *
Sebenernya buaaanyak banget tutorial untuk buat paging kalo di search di mbah kesayangan kita, google.
Tapi gapapa lah ya.. biar sekalian mengingatkan juga, kali aja ada yang masih bingung kayak aq *sebelum bisa buat sendiri*
Dah ah.. jangan kebanyakan basa-basi, nanti yang ada malah busuk ^_^
Framework CodeIgniter ini memiliki konsep MVC yaitu model - view - controller. Jadi, peng-codingan yang dilakukan dipisah-pisahkan berdasarkan model, view dan controllernya. Kalo yang biasa coding dengan konsep OOP, pasti dah biasa banget pake pendekatan MVC ini.
Nah.. untuk membuat paging ini juga kita pisah-pisahkan codingannya berdasarkan MVC-nya. Sebenarnya saya biasa buat paging, tapi belum pernah yang dipisah-pisahkan, jadi semuanya disatukan (yang biasa saya buat).
Untuk Controllernya:
$this->load->library('pagination');
$config['base_url'] = base_url().'index.php/train/view_data'; // URL tempat anda ingin menampilkan fasilitas paging-nya
$jum = $this->training->get_count(); //mengambil jumlah row dari database
$config['total_rows'] = $jum->JUMLAH;
$config['per_page'] = '100' ; // jumlah data yang akan ditampilkasn di setiap page-nya
$config['first_link'] = 'Awal';
$config['last_link'] = 'Akhir';
$config['next_link'] = 'Selanjutnya';
$config['prev_link'] = 'Sebelumnya';
$this->pagination->initialize($config);
$page = $this->uri->segment(3); //ngambil batas akhir row pada halaman sebelumnya
if(!$page):
$offset = 1;
else:
$offset = $page + 1;
endif;
$data['result'] = $this->training->get_training($offset, $config['per_page']);
$data['total_page'] = $this->pagination->create_links(); //ini untuk nampilin pagingnya, bisa diinisialisasi disini, bisa juga langsung di viewnya
$this->load->view('train/all_training_view', $data);
Untuk Modelnya:
function get_training($page, $jum_per_page){$end_row = $page + $jum_per_page - 1;$sql = "SELECT * FROM (SELECT r.*, ROWNUM as row_number FROM ( SELECT * FROM T_TRAINING ) r WHERE ROWNUM <= ".$end_row.") WHERE ".$page." <= row_number";$query = $this->db->query($sql);return $query;}
Untuk Viewnya:
untuk nampilin pagingnya, cukup tulis echo $total_page;
Selesai, jadilah paging yang mau dibuat. Gampang bukan.
Kalo masih bingung juga, coba baca-baca user guide CI-nya
CMIIW ^_^
1 komentar:
nice tutor, terima kasih
mampir dulu -> Pertamina
Post a Comment