TUTORIAL

Cara Membuat Pagination di Codeigniter

シックス , TUTORIAL
0
2340

Pagination adalah proses membagi konten web dan menampilkannya pada halaman terpisah. Tidak terlalu sulit untuk membuat pagination di Codeigniter karena Codeigniter sendiri sudah menyediakan library untuk melakukan / membuat halaman pada sebuah view data yang kita ambil dari database. Berikut adalah cara membuat pagination secara simple ala saya (cara saya sendiri :) ).

 

Oke buatlah sebuah database di sistem MySQL anda, misalkan saya buat dengan nama db_gaji.

CREATE DATABASE db_gaji;

Kemudian buat tabel karyawan yang nantinya akan kita gunakan sebagai sumber data dari tutorial kita.

 

CREATE TABLE IF NOT EXISTS `tbl_karyawan` (
`nik` int(15) NOT NULL AUTO_INCREMENT,
`nama_lengkap` varchar(100) NOT NULL,
`jenkel` enum(‘L’,’P’) DEFAULT NULL,
`tanggal_lahir` date NOT NULL,
`gapok` int(11) NOT NULL,
PRIMARY KEY (`nik`)
)

 

dan isi tabel karyawan dengan data berikut :

 

INSERT INTO `tbl_karyawan` (`nik`, `nama_lengkap`, `jenkel`, `tanggal_lahir`, `gapok`) VALUES
(1001, 'Lilin Herlina', 'P', '1988-03-23', 420000),
(1002, 'Agung H', 'L', '1986-01-20', 530000),
(1003, 'Dwi Ratna', 'P', '1987-11-11', 50000),
(1004, 'Via Vallent', 'P', '1990-12-25', 700000),
(1005, 'Sodiq', 'L', '1975-08-17', 900000),
(1006, 'Gerry Mahesa', 'L', '1985-08-27', 900000),
(1007, 'Mella Barbie', 'P', '1988-09-27', 800000),
(1009, 'Dimas Edubuntu Samid', 'L', '1945-11-01', 1500000),
(1010, 'Brodien', 'L', '1975-05-09', 785000);

 

Setelah membuat table langkah berikutnya adalah kita lakukan setting koneksi ke database kita, caranya bukalah file application/config/database.php, pada baris kurang lebih 51 anda akan menemukan skrip berikut :

 

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'root';
$db['default']['password'] = 'admin';
$db['default']['database'] = 'db_gaji';
$db['default']['dbdriver'] = 'mysql';

 

Ubah juga file pada direktori application/config/autoload.php seperti ini :

[php]$autoload[‘libraries’] = array(‘database, pagination’);[/php]

berguna untuk melakukan setting auto database library.

 

Dan juga lakukan load helper untuk mengakses class uri segment berfungsi untuk pagination nya.

[php]$autoload[‘helper’] = array(‘url’);[/php]

 

Membuat Model

Setelah semuanya siap saatnya kita membuat model, saya beri nama m_karyawan.php. Apa fungsinya ? fungsinya adalah mengambil dari database record yang kita butuhkan untuk ditampilkan pada layar browser melalui file pada direktori view. Buat seperti ini :

<?php if(!defined('BASEPATH')) exit('Keluar dari sistem');

class M_karyawan extends CI_Model
{

public function __construct()
 {
 parent::__construct();
 }

public function ambil_karyawan($num, $offset)
 {
 $this->db->order_by('nama_lengkap', 'ASC');

$data = $this->db->get('tbl_karyawan', $num, $offset);

return $data->result();
 }
}
?>

 

Membuat Controller

Kemudian buat controller dan beri nama karyawan.php, berikut listing scriptnya :

 

<?php if(!defined('BASEPATH')) exit('Keluar dari sistem');

class Karyawan extends CI_Controller
{

public function __construct()
 {
 parent::__construct();

$this->load->model('m_karyawan');
 }

public function index($id=NULL)
 {
 $jml = $this->db->get('tbl_karyawan');

//pengaturan pagination
 $config['base_url'] = base_url().'karyawan/index';
 $config['total_rows'] = $jml->num_rows();
 $config['per_page'] = '5';
 $config['first_page'] = 'Awal';
 $config['last_page'] = 'Akhir';
 $config['next_page'] = '&laquo;';
 $config['prev_page'] = '&raquo;';

//inisialisasi config
 $this->pagination->initialize($config);

//buat pagination
 $data['halaman'] = $this->pagination->create_links();

//tamplikan data
 $data['query'] = $this->m_karyawan->ambil_karyawan($config['per_page'], $id);

$this->load->view('karyawan_view', $data);
 }

}
?>

 

Membuat View

Terakhir buatlah file view untuk menampilkan data dari database, simpan dengan nama karyawan_view.php.

 

<html>
 <head>
 <title>DATA KARYAWAN PT. DIMASEDU MANDIRI JAYA</title>
 <style>
 body
 {
 font-family:arial;
 background:#FFF7E7;
 }

.t_data
 {
 border-collapse:collapse;
 }

.t_data tr th
 {
 font-size:12px;
 font-weight:bold;
 background:#A46D07;
 color:#FFFF00;
 padding:4px;
 }

.t_data tr td
 {
 font-size:12px;
 padding:4px;
 }

.t_data tr:hover
 {
 background:#C8FABF;

}

.halaman
 {
 margin:10px;
 font-size:11px;
 }

.halaman a
 {

padding:3px;
 background:#990000;
 -moz-border-radius:5px;
 -webkit-border-radius:5px;
 border:1px solid #FFA500;
 font-size:10px;
 font-weight:bold;
 color:#FFF;
 text-decoration:none;

}
 </style>
 </head>
 <body>
 <h2>Data Karyawan</h2>
 <table class="t_data" border="1">
 <tr>
 <th>No.</th>
 <th>NIK</th>
 <th>Nama Karyawan</th>
 <th>Gender</th>
 <th>Tanggal Lahir</th>
 <th>Gapok</th>
 </tr>
 <?php
 //kalo data tidak ada didatabase
 if(empty($query))
 {
 echo "<tr><td colspan=\"6\">Data tidak tersedia</td></tr>";
 }else
 {
 $no = 1;
 foreach($query as $row)
 {
 ?>
 <tr>
 <td><?php echo $no;?></td>
 <td><?php echo $row->nik;?></td>
 <td><?php echo $row->nama_lengkap;?></td>
 <td><?php echo $row->jenkel;?></td>
 <td><?php echo $row->tanggal_lahir;?></td>
 <td><?php echo $row->gapok;?></td>
 </tr>
 <?php
 $no++;
 }}
 ?>
 </table>
 <div class="halaman">Halaman : <?php echo $halaman;?></div>
 </body>
</html>

 

Setelah semuanya siap. Sobat tinggal menampilkannya dalam browser. Buka browser kemudian ketikan http://localhost/tutorial/karyawan, seharusnya mendapatkan tampilan seperti berikut :

 

Demikian tutorial tentang pagination semoga dapat menjawab pertanyaan yang diajukan. Saya berharap kode ini akan berguna dalam proyek PHP Anda. Semoga berhasil!

 

0 Comments

×