Belajar PHP

Cara Membuat Pagination dengan PHP untuk Menampilkan Data Lebih Efisien

Cara Membuat Pagination dengan PHP untuk Menampilkan Data Lebih Efisien

Pelajari cara membuat pagination di PHP untuk membagi data menjadi beberapa halaman. Tutorial ini membahas konsep dasar, logika limit-offset, dan contoh implementasi sederhana menggunakan MySQL.


Pengenalan Pagination di PHP

Pagination adalah teknik untuk membagi data menjadi beberapa halaman agar tidak ditampilkan sekaligus. Dalam aplikasi web, pagination berguna untuk menghemat waktu muat (loading) dan meningkatkan pengalaman pengguna, terutama ketika jumlah data sangat banyak.

Konsep Dasar Pagination

Pagination menggunakan kombinasi dari dua parameter utama pada query MySQL, yaitu LIMIT dan OFFSET.

  • LIMIT digunakan untuk menentukan jumlah data yang ditampilkan per halaman.
  • OFFSET menentukan dari data ke berapa tampilan dimulai.

 

Contoh Struktur Database


  CREATE TABLE artikel (
      id INT AUTO_INCREMENT PRIMARY KEY,
      judul VARCHAR(255),
      isi TEXT
  );
  

Contoh Kode PHP Pagination

Berikut contoh kode pagination sederhana menggunakan PHP dan MySQL:


  <?php
  include 'koneksi.php'; // file koneksi database

  $batas = 5; // jumlah data per halaman
  $halaman = isset($_GET['halaman']) ? (int)$_GET['halaman'] : 1;
  $mulai = ($halaman > 1) ? ($halaman * $batas) - $batas : 0;

  $query = "SELECT * FROM artikel LIMIT $mulai, $batas";
  $result = mysqli_query($conn, $query);

  $total = mysqli_num_rows(mysqli_query($conn, "SELECT * FROM artikel"));
  $pages = ceil($total / $batas);
  ?>

  <table border="1" cellpadding="10" cellspacing="0">
      <tr>
          <th>ID</th>
          <th>Judul</th>
      </tr>
      <?php while($row = mysqli_fetch_assoc($result)) : ?>
          <tr>
              <td><?= $row['id']; ?></td>
              <td><?= htmlspecialchars($row['judul']); ?></td>
          </tr>
      <?php endwhile; ?>
  </table>

  <div class="pagination">
      <?php for ($i=1; $i<=$pages ; $i++): ?>
          <a href="?halaman=<?= $i; ?>" 
             class="<?= ($i==$halaman)?'active':''; ?>"><?= $i; ?></a>
      <?php endfor; ?>
  </div>
  

Penjelasan Kode

  • $batas: menentukan jumlah data per halaman.
  • $halaman: mengambil nomor halaman dari URL.
  • $mulai: menentukan posisi awal data.
  • LIMIT dan OFFSET: digunakan untuk mengambil data sesuai halaman.

Menambahkan Gaya CSS Pagination


  .pagination {
      margin-top: 20px;
      text-align: center;
  }
  .pagination a {
      display: inline-block;
      padding: 8px 12px;
      margin: 2px;
      border: 1px solid #ddd;
      text-decoration: none;
      color: #007bff;
  }
  .pagination a.active {
      background-color: #007bff;
      color: white;
  }
  .pagination a:hover {
      background-color: #0056b3;
      color: white;
  }
  

Kesimpulan

Pagination di PHP sangat penting untuk meningkatkan performa tampilan data dan memberikan pengalaman pengguna yang lebih baik. Dengan memanfaatkan query LIMIT dan OFFSET, data dapat diatur tampilannya secara dinamis per halaman.

Internal Link Terkait:


Tags: #PHP #Pagination #TutorialPHP #BelajarPHP #MySQL

Ruang Diskusi

Tinggalkan Komentar

Belum ada komentar. Jadilah yang pertama berkomentar!