Home » » Paging didalam PHP

Paging didalam PHP

Written By Unknown on Senin, 10 Juni 2013 | 23.35

Berbicara tentang website, kita banyak melihat website - website memiliki fitur halaman. maksudnya, jika data website itu banyak maka akan di tampilkan perhalaman. jika menggunakan CMS yang telah jadi, fitur itu telah ada secara default. namun bagaimana bila kita sendiri yang melakukan pengembangan/developing cms website tersebut? tentu kita juga harus memasukkan fitur halaman atau paging pada CMS yang kita bangun.
Bagaimana membuat fitur paging yang sederhana? Sebelum kita membuat fitur paging, alangkah baiknya kita mengetahui terlebih dahulu step - step membuat fitur paging itu seperti apa, antara lain:
  1. tentukan jumlah data yang ingin ditampilkan perhalamannya
  2. hitung seluruh data yang akan ditampilkan
  3. tentukan offset, berguna disaat pengambilan data dimulai dari record ke n ,  saat paging dilakukan
  4. tampilkan data sesuai jumlah yang ditentukan(pada nomor 1)
  5. tentukan jumlah halaman berdasarkan jumlah data.
  6. tampilkan link-link halaman
berikut detail pengkodeannya:

php
// jumlah data yang akan ditampilkan per halaman
$dataPerPage = 1;
 
 
//baca apakah ada parameter halaman di url, jika tidak set nilai nomorhalaman=1
if(isset($_GET['halaman']))
{
    $noPage = $_GET['halaman'];
} 
else $noPage = 1;
 
 
//hitung jumlah seluruh data
$query   = "SELECT COUNT(*) AS jumData FROM `kategori`";
$hasil  = mysql_query($query);
$data     = mysql_fetch_array($hasil);
$jumData = $data['jumData'];
 


// perhitungan offset untuk proses select/ambil data dimulai dari record ke berapa

$offset = ($noPage - 1) * $dataPerPage;
 
 
//tampilkan data sesuai yang ditetapkan
$sql = "SELECT * FROM `kategori` order by idkategori LIMIT $offset, $dataPerPage";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$numrow=mysql_num_rows($result);
?>

daftar kategori :
width="710">

id="head" class="head">kategori

id="head" class="head">keterangan kategori

id="head" class="head" width="70">kontrol
php
if($row['idkategori']==NULL || $row['idkategori']=="")
{
echo "
Nothing article
";
}
else
{
do{
echo "

"
.$row['kategori']."

"
.$row['keterangan']."
";
}
while($row=mysql_fetch_array($result));
}
 
 
//menghitung jumlah halaman berdasarkan jumlah data
$jumPage = ceil($jumData/$dataPerPage);
echo "
"
;
 
 
// menampilkan link ke halaman sebelumnya
echo "Pages (".$jumPage.") : ";
if ($noPage > 1)
echo  "<< Prev";
 
 
// memunculkan nomor halaman dan linknya
$showPage=0;
for($page = 1; $page <= $jumPage; $page++)
{
if ((($page >= $noPage - 3) && ($page <= $noPage + 3)) || ($page == 1) || ($page == $jumPage)) 
{   
if (($showPage == 1) && ($page != 2))
echo "..."; 
 
if (($showPage != ($jumPage - 1)) && ($page == $jumPage))
echo "...";
 
if ($page == $noPage)
echo " ".$page."
";
else 
echo " ".$page."
";
$showPage = $page;          
}
}
 
 
// menampilkan link ke halaman selanjutnya
if ($noPage < $jumPage)
echo "Next >>";
echo "
";
 
?>

Add new kategori :
href='?lihat=kategori&tambah=kategoribaru'> src="../images/data_add.png"/>
Berikut tampilan hasil pagingnya:
Share this article :
 
Support : support@masterfreelance.com | +62 - 857 - 1061 - 2210 | 327E8DA0
Copyright © 2013. MasterFreelance Blog - All Rights Reserved
Jl. Satria 5 No 27 - 28
Bojong Nangka , Kelapa Dua - Tangerang
15821, Banten - Indonesia