RSS

PHP Simple Pagination

30 Jun

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~

 
Leave a comment

Posted by on 30 June 2011 in Software & Development, Website

 

Tags: , , , , , ,

Monggo share dimari :D

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 )

Google+ photo

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

Connecting to %s

 
%d bloggers like this: