Membuat paging di codeigniter


Paging CodeIgniter

PENDAHULUAN

Pada artikel sebelumnya tentang codeigniter saya membuat aplikasi bukutamu sederhana. kali ini saya menambahkan fitur paging pada aplikasi bukutamu tersebut agar jika datanya sudah banyak bisa menghemat space halaman untuk menampilkan bukutamu.

PERSIAPAN

Seperti yang sudah kita ketahui kita menggunakan konsep MVC dalam membuat aplikasi menggunakan framework CI. oleh karena itu silahkan dilihat pada contoh aplikasi saya yang berhubungan dengan paging pada file-file berikut ini :

  1. system/application/controllers/proses.php 
  2. system/application/models/guest_model.php
  3. system/application/views/view_guest.php
PROSES.PHP
function Proses(){
	parent::Controller();
	$this->load->model('Guest_model','',TRUE);
	$this->load->library('pagination');
}
function view_guest(){
	$data['data_guest']=$this->Guest_model->tampil_data();
	$data['isi']='view_guest';
	$this->load->view('template',$data);
}
GUESTMODEL.PHP
function tampil_data(){
	$string_query       	= "select * from guestbook order  
        by id_gb asc";
	$query          	= $this->db->query($string_query);
	$config['base_url']     = base_url().'index.php/proses/
 view_guest/';
	$config['total_rows']	= $query->num_rows();
	$config['per_page'] = '2';
	$num            	= $config['per_page'];
	$offset         	= $this->uri->segment(3);
	$offset         	= ( ! is_numeric($offset) || 
        $offset < 1) ? 0 : $offset;  

	if(empty($offset))
	{
	    $offset=0;
	}  

	$this->pagination->initialize($config);
	$data_guest= $this->db->query($string_query." 
 limit $offset,$num");
	return $data_guest;
}
VIEWGUEST.PHP
<?php
$flashmessage=$this->session->flashdata('message');
echo ! empty($flashmessage) ? '<p class="message">' .
$flashmessage . '</p>': '';
?>
<table border="1" class='datatable'>
        <tr>
        <th>Nomor</th>
	<th>Nama</th>
	<th>Email</th>
	<th>Pesan</th>
	</tr>
	<?php
	$offset = $this->uri->segment(3);
	foreach($data_guest->result() as $row){
	?>
	<tr>
	<td><?php echo $offset=$offset+1; ?></td>
	<td><?php echo $row->nama; ?></td>
	<td><?php echo mailto($row->email,$row->email);?></td>
	<td><?php echo $row->pesan; ?></td>
	</tr>
<?php
	}
?>
</table>
<p align="center"><b><?php echo $this->pagination->create_links();
?></b></p>

DATABASE

Untuk contoh databasenya sudah saya satukan kedalam  folder tamplate-paging dengan nama file db_ci.sql.zip silahkan di import melalui phpmyadmin.

DOWNLOAD

http://www.4shared.com/file/RkzJFZyQ/template-paging.html

Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin

Depok, 4-11-2011

noname

9 Responses

  1. mas ko masih masih ada yang erorr ya mas ini kenapa ya mas

    ni contoh erorrnya :
    pagination->create_links();?>

  2. mungkin kesalahannya disini mas
    $this->pagination->create_links();?>

    tanda “sama dengan” setelah tag pembuka PHP di ganti dengan kata “php echo” untuk menampilkan nomor pagingnya di php versi 5

    semoga berhasil…

  3. mas, kok yg punya saya masih error? error nya gini.

    Fatal error: Call to a member function initialize() on a non-object in C:\xampp\htdocs\penjualan\application\models\ModelMinStock.php on line 27

  4. ane aku in web ente super lengkap,tpi kalo ane lagi kesusahan bkin web tlong bntu ya

  5. mas gmana caranya datanya tampil 10 data, dan sisanya di page ke 2,3,4 dst..

  6. duh mas klo saya pake CI 2.0.1 bisa dipake gak ya source code ini?

  7. pagination->create_links();?>

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s