Cara membuat paging dengan php mysqli

Tutorial Membuat Pagination dengan PHP dan MySQLi-Paging atau dikenal juga dengan sebutan pagination (paginate), previous-next, page navigator, halaman 1..2..3,dst. Apapun namanya, intinya paging adalah suatu teknik untuk membatasi data yang akan ditampilkan dalam suatu halaman website.
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.

Cara membuat paging dengan php mysqli

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

  1. Tentukan limit/batas, lalu cek pada posisi dan halaman berapa saat script dijalankan.
  2. Sesuaikan Query (SQL) dengan limit (batas) dan posisi.
  3. Hitung total data dan halaman serta tampilkan link untuk navigasi halaman.

untuk menerapkannya akan saya coba pada script paging
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; }

setelah dijalankan maka hasilnya seperti ini:


Cara membuat paging dengan php mysqli

Hmm bagaimana saya rasa tidak teralu susah kan?
ok semoga dapat bermanfaat

Download

About kodekidi

KodeKidi.com Situs Tutorial Pemograman Berbahasa Indonesia