Pagination atau membuat halaman pada web kita dapat dilakukan dengan manipulasi code-code PHP. Sebenarnya jika menggunakan CI akan lebih sederhana, namun untuk kali ini saya hanya akan memberikan contoh pagination dengan PHP biasa
Contoh kasusnya adalah pagination untuk berita
<?php $batas=10; // batas banyaknya berita yang akan di tampilkan untuk 1 halaman $halaman=$_GET['halaman']; if ($halaman == ""){ $mulai=0; // jika nilai pada header belum di set, maka di inisialisasi $mulai = 0 } else{ $mulai=($halaman-1)*$batas; // jika ada nilai header, ambil nilainya } $queryjum = mysql_fetch_object(mysql_query("SELECT count(id_berita) as jum FROM berita")); //hitung jumlah berita yang ada di database $hasiljum = $queryjum->jum; $hlm=$_GET['halaman']; // berfungsi untuk mengambil nilai halaman dari header if( $_GET['halaman'] == "" ) $hlm = 1; // jika nilai pada header belum di set, maka di inisialisasi $hlm = 1 echo "Halaman "; $jumlah_halaman=ceil($hasiljum/$batas); // membulatkan angka hasil perhitungan ke atas for ($hal=1;$hal <=$jumlah_halaman; $hal++){ echo "[<a href=$PHP_SELF?halaman=$hal>". $hal."</a>]"; } echo "<hr/><br/>"; $query = mysql_query("SELECT * FROM berita order by tgl desc,id_berita desc LIMIT $mulai,$batas "); //membatasi halaman sesuai aturan $mulai yang sudah di set tadi sesuai perhitungan while ($get_berita = mysql_fetch_object($query)){ echo $get_berita->isi."</br>"; //tampilkan berita disini } echo "<hr/><br/>Halaman "; for ($hal=1;$hal <=$jumlah_halaman; $hal++){ echo "[<a href=$PHP_SELF?halaman=$hal>". $hal."</a>]"; } ?>
secara sederhana ada 3 bagian penting,
<?php $batas=10; // batas banyaknya berita yang akan di tampilkan untuk 1 halaman $halaman=$_GET['halaman']; if ($halaman == ""){ $mulai=0; // jika nilai pada header belum di set, maka di inisialisasi $mulai = 0 } else{ $mulai=($halaman-1)*$batas; // jika ada nilai header, ambil nilainya } ?>
potongan di atas untuk mengeset nilai batas awal yang akan digunakan pada query pengambilan berita berikutnya yang tergantung dari nilai halaman berapa yang ditampilkan
<?php $queryjum = mysql_fetch_object(mysql_query("SELECT count(id_berita) as jum FROM berita")); //hitung jumlah berita yang ada di database $hasiljum = $queryjum->jum; $hlm=$_GET['halaman']; // berfungsi untuk mengambil nilai halaman dari header if( $_GET['halaman'] == "" ) $hlm = 1; // jika nilai pada header belum di set, maka di inisialisasi $hlm = 1 echo "Halaman "; $jumlah_halaman=ceil($hasiljum/$batas); // membulatkan angka hasil perhitungan ke atas for ($hal=1;$hal <=$jumlah_halaman; $hal++){ echo "[<a href=$PHP_SELF?halaman=$hal>". $hal."</a>]"; } echo "<hr/><br/>"; ?>
Bagian tersebut untuk menghitung banyaknya berita yang ada di database dan jumlah halaman yang akan ditampilkan pada halaman web.
<?php $query = mysql_query("SELECT * FROM berita order by tgl desc,id_berita desc LIMIT $mulai,$batas "); //membatasi halaman sesuai aturan $mulai yang sudah di set tadi sesuai perhitungan while ($get_berita = mysql_fetch_object($query)){ echo $get_berita->isi."</br>"; //tampilkan berita disini } echo "<hr/><br/>Halaman "; for ($hal=1;$hal <=$jumlah_halaman; $hal++){ echo "[<a href=$PHP_SELF?halaman=$hal>". $hal."</a>]"; } ?>
bagian tersebut untuk menampilkan berita sesuai dengan aturan yang sudah di set pada bagian pertama dengan menggunakan query LIMIT
mudah bukan??? đŸ˜€
Regard,
~andrew89ongi~