Tutorial Pagination (Paging)

0
161

Pagination (paging) adalah proses membatasi jumlah data yang tampil dalam satu halaman. Biasanya proses ini dilakukan agar proses permintaan data ke server tidak terlalu banyak sehingga halaman web dapat ditampilkan secara cepat. Dengan ini kita dapat menentukan sendiri jumlah data yang akan ditampilkan dalam satu halaman. Data pada halaman selanjutnya dapat kita tampilkan dengan bentuk link berupa nomor.

Step 1 – MEMBUAT TABEL YANG DIPERLUKAN

Untuk kebutuhan pagination yang kita perlukan hanyalah sebuah tabel sebagai contoh data yang akan ditampilkan. Anda bisa membuat tabel tersebut dengan MYSQL client menggunakan kode berikut:

Use mydb;

Create table buku (

id int not null auto_increment primary key,

judul varchar(60),

pengarang varchar(25),

jmlhalaman int,

penerbit varchar(30),

harga decimal

);

 

Step 2 – MEMBUAT KODE KONEKSI KE DATABASE

Tulislah kode berikut dan simpan dengan nama koneksi.php

<?php
$host = "localhost";
$username = "root";
$password = "";
$dbname = "mydb";

$conn = mysqli_connect($host, $username, $password, $dbname);

if (mysqli_connect_errno()) {
  echo "koneksi gagal";
} ?>

 

Step 3 – MEMBUAT MENU DI HALAMAN UTAMA

Ada dua menu yang kita buat, yaitu:

  • Isi data buku

Untuk menampilkan form entri data buku.

  • Lihat daftar buku

Untuk menampilkan daftar buku yang disimpan di tabel buku yang sudah di pagination.

<!DOCTYPE html>
<html>
<head>
  <title>Membuat Pagination</title>
</head>
<body>
<h2>Pagination (paging)</h2>
<strong>Menu :</strong>
<ul>
  <li><a href="addbuku.php">Isi data buku</a></li>
  <li><a href="listbuku.php">Lihat daftar buku</a></li>
</ul>
</body>
</html>

 

Step 4 – MEMBUAT FORM

Membuat form untuk memudahkan user memasukkan data buku ke dalam tabel buku yang ada di dalam database.

Berikut ini kode yang diperlukan dan simpan dengan nama addbuku.php

<!DOCTYPE html>
<html>
<head>
  <title>Membuat Pagination</title>
</head>
<body>
<h2>Isi data buku :</h2>
<form action="do_addbuku.php" method="post">
  <table>
    <tr>
      <td>Judul</td>
      <td><input type="text" name="judul"></td>
    </tr>
    <tr>
      <td>Pengarang</td>
      <td><input type="text" name="pengarang"></td>
    </tr>
    <tr>
      <td>Jumlah Halaman</td>
      <td><input type="text" name="jmlhalaman"></td>
    </tr>
    <tr>
      <td>Penerbit</td>
      <td><input type="text" name="penerbit"></td>
    </tr>
    <tr>
      <td>Harga</td>
      <td><input type="text" name="harga"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="btnSubmit" value="Simpan"></td>
    </tr>
  </table>
</form>
</body>
</html>

 

Tampilan kode form yang dihasilkan.

Step 5 – MEMBUAT KODE PHP UNTUK MEMPROSES FORM

Kode yang akan dibuat ini berfungsi untuk mengirim informasi yang user masukkan melalui form ke server.

Kode yang diperlukan adalah sebagi berikut:

<!DOCTYPE html>
<html>
<head>
  <title>Membuat Pagination</title>
</head>
<body>
<?php
if (isset($_POST['btnSubmit'])) {
  $judul = $_POST['judul'];
  $pengarang = $_POST['pengarang'];
  $jmlhalaman = $_POST['jmlhalaman'];
  $penerbit = $_POST['penerbit'];
  $harga = $_POST['harga'];

  require 'koneksi.php';
  $sql = "insert into buku(judul, pengarang, jmlhalaman, penerbit, harga) values('$judul','$pengarang','$jmlhalaman','$penerbit','$harga')";
  mysqli_query($conn, $sql);
  $num = mysqli_affected_rows($conn);

  if ($num > 0) {
    ?>
    <strong>Data berhasil disimpan</strong>
    <a href="listbuku.php">Lihat daftar buku</a>
    <?php
  } else {
    ?>
    <strong>Error, Silahkan Ulangi</strong>
    <a href="addbuku.php">Kembali ke form entri</a>
    <?php
  }
} ?>
</body>
</html>

 

Simpan dengan nama do_addbuku.php maka tampilan nya akan seperti yang ada dibawah ini.

Step 6 – MEMBUAT KODE UNTUK MENAMPILKAN DATA BUKU

Bagian ini merupakan kode inti dari bahasan kita kali ini. Kita membatasi data yang ditampilkan pada setiap halaman. Pada contoh ini jumlah data yang akan ditampilkan adalah 3.

Berikut ini kode untuk membuat pagination:

<!DOCTYPE html>
<html>
<head>
  <title>Membuat Pagination</title>
</head>
<body>
<?php
require 'koneksi.php';
$batas = 3;
$result = mysqli_query($conn, "select count(*) from buku");
$recordcount = mysqli_fetch_row($result)[0];
$pagecount = ceil($recordcount / $batas);

if (!isset($_GET['page'])) {
  $activepage = 1;
} else {
  $activepage = $_GET['page'];
}

$mulai = $batas * ($activepage-1);

$sql = "select judul, pengarang, jmlhalaman, penerbit, harga from buku limit $mulai, $batas";
$result = mysqli_query($conn, $sql);
?>
<table border="1">
  <tr>
    <th>Judul</th>
    <th>Pengarang</th>
    <th>Jumlah Halaman</th>
    <th>Penerbit</th>
    <th>Harga</th>
  </tr>
<?php
while ($row = mysqli_fetch_array($result)) {
  $judul = $row['0'];
  $pengarang = $row['1'];
  $jmlhalaman = $row['2'];
  $penerbit = $row['3'];
  $harga = $row['4'];
  ?>
  <tr>
    <td><?php echo $judul; ?></td>
    <td><?php echo $pengarang; ?></td>
    <td><?php echo $jmlhalaman; ?></td>
    <td><?php echo $penerbit; ?></td>
    <td><?php echo $harga; ?></td>
  </tr>
  <?php
}
?>
</table>
<br />
<?php
for ($i=1; $i<=$pagecount; $i++) { 
  if ($i != $activepage) {
    ?>
    <a href="listbuku.php?page=<?php echo $i; ?>"><?php echo $i; ?></a>
    <?php
  } else {
    echo "<strong>" . $i . "</strong>";
  }
} ?>
</body>
</html>

 

Simpan dengan nama listbuku.php. Maka hasil dari kode di atas akan seperti ini.

Nah sekarang anda sudah berhasil membuat pagination (paging). Selamat belajar.

Terima Kasih telah membaca.

***PIU***

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here