Cara Membuat Pagination Pada CodeIgniter

Cara Membuat Pagination Pada CodeIgniter
Masih di tutorial codeigniter. codeigniter telah menyediakan fasilitas untuk membuat pagination dengan sangat mudah. jadi dengan menggunakan codeigniter kita tidak perlu lagi capek-capek membuat pagination, kita hanya perlu membuka library pagination codeigniter dan melakukan beberapa settingan dan pagination pun siap. hehe. oke langsung saja ya kita masuk ke tutorial cara membuat pagination dengan codeigniter.
Cara Membuat Pagination Pada CodeIgniter
Tahap pertama yang harus di lakukan adalah setting base_url dulu di application/config/config.php . sesuaikan dengan nama project ci kamu sendiri.
1 |
$config['base_url'] = 'http://localhost/malasngoding_paging/'; |
karena data yang kita gunakan atau yang akan kita tampilka adalah data dari database oleh karena itu kita setting dulu database nya. untuk cara menghubungkan codeigniter dengan database mysql teman-teman bisa membaca tutorial sebelumnya tentang cara menghubungkan codeigniter dan database mysql dengan klik di sini.
application/config/database.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => 'xxx', 'database' => 'malasngoding', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE ); |
silahkan setting username, password dan nama database anda. pada tutorial ini saya menggunakan database malasngoding.
dan berikut ini saya sertakan juga file sql malasngoding untuk contoh cara membuat pagination dengan codeigniter. silahkan anda import
malasngoding.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
-- phpMyAdmin SQL Dump -- version 3.5.2.2 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: Jan 22, 2016 at 02:33 PM -- Server version: 5.5.27 -- PHP Version: 5.4.7 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `malasngoding` -- -- -------------------------------------------------------- -- -- Table structure for table `user` -- CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(50) NOT NULL, `alamat` text NOT NULL, `pekerjaan` varchar(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=63 ; -- -- Dumping data for table `user` -- INSERT INTO `user` (`id`, `nama`, `alamat`, `pekerjaan`) VALUES (1, 'Andi', 'Surabaya', 'web programmer'), (2, 'Santoso', 'Jakarta', 'Web Designer'), (6, 'Samsul', 'Sumedang', 'Pegawai'), (7, 'Bob', 'jakarta', 'penyanyi'), (8, 'marley', 'afrika', 'penyanyi'), (9, 'Bob', 'jakarta', 'penyanyi'), (10, 'Bob', 'jakarta', 'penyanyi'), (11, 'Bob', 'jakarta', 'penyanyi'), (12, 'Bob', 'jakarta', 'penyanyi'), (13, 'Bob', 'jakarta', 'penyanyi'), (14, 'Bob', 'jakarta', 'penyanyi'), (15, 'Bob', 'jakarta', 'penyanyi'), (16, 'Bob', 'jakarta', 'penyanyi'), (17, 'Bob', 'jakarta', 'penyanyi'), (18, 'marley', 'afrika', 'penyanyi'), (19, 'Bob', 'jakarta', 'penyanyi'), (20, 'Bob', 'jakarta', 'penyanyi'), (21, 'Bob', 'jakarta', 'penyanyi'), (22, 'Bob', 'jakarta', 'penyanyi'), (23, 'Bob', 'jakarta', 'penyanyi'), (24, 'Bob', 'jakarta', 'penyanyi'), (25, 'Bob', 'jakarta', 'penyanyi'), (26, 'Bob', 'jakarta', 'penyanyi'), (27, 'Bob', 'jakarta', 'penyanyi'), (28, 'Bob', 'jakarta', 'penyanyi'), (29, 'Bob', 'jakarta', 'penyanyi'), (30, 'Bob', 'jakarta', 'penyanyi'), (31, 'Bob', 'jakarta', 'penyanyi'), (32, 'marley', 'afrika', 'penyanyi'), (33, 'Bob', 'jakarta', 'penyanyi'), (34, 'Bob', 'jakarta', 'penyanyi'), (35, 'Bob', 'jakarta', 'penyanyi'), (36, 'Bob', 'jakarta', 'penyanyi'), (37, 'Bob', 'jakarta', 'penyanyi'), (38, 'Bob', 'jakarta', 'penyanyi'), (39, 'Bob', 'jakarta', 'penyanyi'), (40, 'Bob', 'jakarta', 'penyanyi'), (41, 'Bob', 'jakarta', 'penyanyi'), (42, 'Bob', 'jakarta', 'penyanyi'), (43, 'Bob', 'jakarta', 'penyanyi'), (44, 'Bob', 'jakarta', 'penyanyi'), (45, 'Bob', 'jakarta', 'penyanyi'), (46, 'Bob', 'jakarta', 'penyanyi'), (47, 'marley', 'afrika', 'penyanyi'), (48, 'Bob', 'jakarta', 'penyanyi'), (49, 'Bob', 'jakarta', 'penyanyi'), (50, 'Bob', 'jakarta', 'penyanyi'), (51, 'Bob', 'jakarta', 'penyanyi'), (52, 'Bob', 'jakarta', 'penyanyi'), (53, 'Bob', 'jakarta', 'penyanyi'), (54, 'Bob', 'jakarta', 'penyanyi'), (55, 'Bob', 'jakarta', 'penyanyi'), (56, 'Bob', 'jakarta', 'penyanyi'), (57, 'Bob', 'jakarta', 'penyanyi'), (58, 'Bob', 'jakarta', 'penyanyi'), (59, 'Bob', 'jakarta', 'penyanyi'), (60, 'Bob', 'jakarta', 'penyanyi'), (61, 'Bob', 'jakarta', 'penyanyi'), (62, 'marley', 'afrika', 'penyanyi'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
nah pada database malasngoding saya sudah menyertakan table user yang memiliki beberapa record sebagai contoh membuat pagination dengan codeigniter ini.
application/controllers/welcome.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { function __construct(){ parent::__construct(); $this->load->helper(array('url')); $this->load->model('m_data'); } public function index(){ $this->load->database(); $jumlah_data = $this->m_data->jumlah_data(); $this->load->library('pagination'); $config['base_url'] = base_url().'index.php/welcome/index/'; $config['total_rows'] = $jumlah_data; $config['per_page'] = 10; $from = $this->uri->segment(3); $this->pagination->initialize($config); $data['user'] = $this->m_data->data($config['per_page'],$from); $this->load->view('v_data',$data); } } |
Pada method index ini lah kita akan membuat pagination codeigniter. dengan membuka library pagination codeigniter. dan menentukan pengaturan pagination codeigniter
1 2 3 |
$config['base_url'] = base_url().'index.php/welcome/index/'; $config['total_rows'] = $jumlah_data; $config['per_page'] = 10; |
pada pengaturan per_page maksud nya jumlah record yang di tampilkan per halaman. total_rows untuk pengaturan jumlah dari seluruh record. dan base_url adalah settingan url dari link pagination. variabel $jumlah_data berisi data jumlah data(perhatikan method jumlah pada model m_data berikut)
application/models/m_data.php
1 2 3 4 5 6 7 8 9 10 11 |
<?php class M_data extends CI_Model{ function data($number,$offset){ return $query = $this->db->get('user',$number,$offset)->result(); } function jumlah_data(){ return $this->db->get('user')->num_rows(); } } |
pada model m_data ini terdapat dua buah function yang saya buat, function data yang berguna untuk mengambil data user dari record ke berapa sampai record ke berapa sesuai data yang di kirim melalui parameter pada function. dan function jumlah_data bertujuan untuk mengambil jumlah seluruh record.
application/views/v_data.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<!DOCTYPE html> <html> <head> <title>Membuat Pagination Pada CodeIgniter | MalasNgoding.com</title> </head> <body> <h1>Membuat Pagination Pada CodeIgniter | MalasNgoding.com</h1> <table border="1"> <tr> <th>no</th> <th>nama</th> <th>alamat</th> <th>pekerjaan</th> </tr> <?php $no = $this->uri->segment('3') + 1; foreach($user as $u){ ?> <tr> <td><?php echo $no++; ?></td> <td><?php echo $u->nama ?></td> <td><?php echo $u->alamat ?></td> <td><?php echo $u->pekerjaan ?></td> </tr> <?php } ?> </table> <br/> <?php echo $this->pagination->create_links(); ?> </body> </html> |
dan akan kita lihat hasil nya
localhost/malasngoding_paging/welcome

cara membuat pagination pada codeigniter
sekian tutorial cara membuat pagination pada codeigniter.
Tutorial Menarik Lainnya

Membuat Login Dengan Codeigniter


Cara Mendapatkan Data User Dengan CodeIgniter


Membuat CRUD Dengan CodeIgniter : Update Data


Mantap mas.. thnxs infonya..