Umunya Paging digunakan untuk menampilkan data yang banyak dan hampir selalu muncul di aplikasi website. Oleh karena itu paging wajib di implementasikan dalam suatu website agar memudahkan user atau viewer memperoleh suatu informasi.
Contoh dari paging sendiri misalnya pada home suatu blog, dalam home suatu blog biasanya terdapat 5-10 artikel yang di tampilkan, bukan berarti memang blog tersebut hanya mempunyai 5-10 halaman, tapi blog tersebut menggunakan teknik pagination, gunanya agar user atau visitor tidak berat saat membuka blog tersebut, bayangkan saja jika blog tersebut mempunyau 500 artikel, maka akan sangat berat jika semua artikel di load secara bersamaan.
gambar di atas menunjukan script yang belum memakai teknik paging, itu hanya 18 data bagaimana jika ada 500 data atau lebih , menurut saya membuat kurang nyaman dan efektif, isn't?
ada beberapa langkah untuk menerapkan paging
- Tentukan limit/batas, lalu cek pada posisi dan halaman berapa saat script dijalankan.
- Sesuaikan Query (SQL) dengan limit (batas) dan posisi.
- Hitung total data dan halaman serta tampilkan link untuk navigasi halaman.
script paging.php
<html>
<title>Data Paging</title>
<link href="style.css" rel="stylesheet" type="text/css">
<body>
<?php
$konek = mysqli_connect("localhost","root","","paging");
// Langkah 1. Tentukan batas,cek halaman & posisi data
$batas = 5;
$halaman = @$_GET['halaman'];
if(empty($halaman)){
$posisi = 0;
$halaman = 1;
}
else{
$posisi = ($halaman-1) * $batas;
}
// Langkah 2. Sesuaikan query dengan posisi dan batas
$query = "SELECT * FROM anggota LIMIT $posisi,$batas";
$tampil = mysqli_query($konek, $query);
echo "<table>
<tr><th>No</th><th>Nama</th><th>Alamat</th></tr>";
$no = $posisi+1;
while ($data=mysqli_fetch_array($tampil)){
echo "<tr>
<td>$no</td>
<td>$data[nama]</td>
<td>$data[alamat]</td>
</tr>";
$no++;
}
echo "</table>";
// Langkah 3: Hitung total data dan halaman serta link 1,2,3
$query2 = mysqli_query($konek, "select * from anggota");
$jmldata = mysqli_num_rows($query2);
$jmlhalaman = ceil($jmldata/$batas);
echo "<br> Halaman : ";
for($i=1;$i<=$jmlhalaman;$i++)
if ($i != $halaman){
echo " <a href=\"paging.php?halaman=$i\">$i</a> | ";
}
else{
echo " <b>$i</b> | ";
}
echo "<p>Total anggota : <b>$jmldata</b> orang</p>";
?>
</body>
</html>
buat juga script CSSnya untuk mempercantik tampilan dari tablenya
script style.css
table { border-collapse: collapse; }th {
background-color: #2e6ab1;
padding-left: 14px;
padding-right: 8px;
border: 1px solid #cccccc;
text-align:left;
color:#ffffff;
}
td {
font-size: 11pt;
background-color: #F0F0F0;
padding-left: 8px;
padding-right: 8px;
padding-top: 5px;
padding-bottom: 5px;
border: 1px solid #cccccc;
}
input,select { font-size: 10pt; }
Wahh,, berhasil!
ReplyDeleteTrima kasih gan sangat bermanfaat ^_^
sangat membantu, terima kasih ..
ReplyDeletemantap tutornya simple tapi work keren gan, ditunggu tutorial selanjutnya
ReplyDeletemantap Work.
ReplyDeletesangat membantu.. makasiiii
ReplyDeleteTerima kasih, sangat memmbantu .... :D
ReplyDeletethankss
ReplyDeletemisal kita punya 500 data menampilkan 5 data dalam 1 halaman, paggingnya berarti 100 ?
ReplyDeletekalo mau kasi batasnya gimana iya
MANTAP GAN.
ReplyDelete3 HARI INI GUE BEGADANGIN BUAT PAGINATION DATA INNER JOIN GUE.
SETELAH KETEMU BLOG INI, JADI BISA.
ITS WORK. SEMOGA TAMBAH SUKSES GAN.
:)
Terimakasih Gan semoga sehat selalu sukses
ReplyDelete