Kebutuhan : Webserver Package, already installed. CodeIgniter Bundle.
Jika anda tidak familiar dengan istilah “pagination”, pagination merujuk pada link yang berguna untuk navigasi dari page ke page, seperti gambar dibawah ini,
Pagination dalam CI sangat mudah digunakan, tutorial ini akan memberikan contoh membuat pagination dalam aplikasi CI.
Okay then, prepare for a cup of tea
Step 1 : Konfigurasi CI
- Buka file config.php yang berada dalam folder system-application-config-config.php
- Ubah base url, sesuaikan dengan lokasi dimana folder CI-mu
berada (tempat ekstrak-an tadi). Contoh : Folder CI anda berada
dalam folder www/ci
maka ubah baris$config['base_url']="http://example.com/";
dengan
$config['base_url'] = "http://localhost/ci/";
- Setting database. Buka file database.php yang berada dalam folder yang sama dengan config.php. Ubah hostname, username, password, dan nama database. Sesuaikan dengan pengaturan mysql anda. Contoh :
$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "db_tutorial";
- Buat database dengan nama db_tutorial (via phpmyadmin)
- Siapkan tabel dengan nama tb_book (untuk strukturnya, lihat gambar dibawah ini)
- Insertkan beberapa sample data, sebagai contoh insertkan data seperti tabel dibawah ini.
- Ok, we’re done with database !
- Ketikkan script berikut,
<?php
class Buku_con extends Controller {
public function Buku_con()
{
parent::__construct();
$this->load->model('buku_model');
$this->load->library('pagination'); //call pagination library
}
function getBuku() {
//count the total rows of tb_book
$this->db->select('*');
$this->db->from('tb_book');
$getData = $this->db->get('');
$a = $getData->num_rows();
$config['base_url'] = base_url().'index.php/Buku_con/getBuku/'; //set the base url for pagination
$config['total_rows'] = $a; //total rows
$config['per_page'] = '2'; //the number of per page for pagination
$config['uri_segment'] = 3; //see from base_url. 3 for this case
$config['full_tag_open'] = '<p>';
$config['full_tag_close'] = '</p>';
$this->pagination->initialize($config); //initialize pagination
$data['title'] = 'menampilkan isi buku';
$data['detail'] = $this->buku_model->getBuku($config['per_page'],$this->uri->segment(3));
$this->load->view('buku_view', $data);
}
}
?> - Simpan dengan nama buku_con dalam folder system-application-controllers
- Penjelasan : function
getBuku()
akan mengambil isi dari tb_book via model. Dalam controller ini, pagination diinisialisasi dan diatur settingannya seperti pada script diatas (lihat komentar pada script untuk keterangannya).
- Ketikkan script berikut,
<?php
class Buku_model extends Model {
function Buku_model()
{
parent::Model();
}
function getBuku($perPage,$uri) { //to get all data in tb_book
$this->db->select('*');
$this->db->from('tb_book');
$this->db->order_by('id','DESC');
$getData = $this->db->get('', $perPage, $uri);
if($getData->num_rows() > 0)
return $getData->result_array();
else
return null;
}
}
?> - Simpan dalam folder system-application-models, dengan nama buku_model.php
- Ketikkan script berikut,
<h4>Book Data</h4>
<?php if(count($detail) > 0) { ?>
<table border="1">
<tr>
<th>ID</th>
<th>Title</th>
<th>Author</th>
</tr>
<?php
foreach($detail as $rows) {
echo "<tr>";
echo "
<td>". $rows['id']."</td>
<td>". $rows['title'] ."</td>
<td>". $rows['author'] ."</td>
"; } ?>
</table>
<?php } ?>
<div> <?php echo $this->pagination->create_links(); ?> </div> - Simpan dalam folder system-application-views, dengan nama buku_view.php
- Penjelasan :
$detail
didapatkan dari controller, variabel ini berisi data dari tb_book (hasil dari model). Kemudian data ditampilkan dalam bentuk arrays.
- Buka browser, pergi ke http://localhost/namaFolderCIKamu/buku_con/getBuku
- Anda akan melihat tampilan seperti berikut,
- Klik pada link pagination ke halaman 2, maka anda akan melihat tampilan seperti dibawah
http://itx.web.id/php/membuat-pagination-dalam-codeigniter/
0 komentar:
Posting Komentar