Ketika sebuah tabel berisi ribuan baris, menampilkan semuanya sekaligus akan memberatkan server dan pengguna. Solusinya adalah klausa MySQL Limit, yang membatasi jumlah baris yang dikembalikan sebuah query. Klausa ini juga menjadi kunci pembuatan fitur pagination (halaman).
LIMIT Dasar
Untuk mengambil hanya sejumlah baris pertama:
SELECT * FROM produk LIMIT 5; -- ambil 5 baris pertama
LIMIT dengan OFFSET
OFFSET menentukan dari baris ke berapa data mulai diambil (dihitung dari 0). Ini penting untuk menampilkan “halaman” data yang berbeda:
SELECT * FROM produk LIMIT 5 OFFSET 10; -- lewati 10, ambil 5 berikutnya
Perintah di atas cocok untuk menampilkan halaman ketiga jika setiap halaman berisi 5 item.
Membuat Pagination
Inilah penerapan nyata LIMIT. Dengan menghitung offset berdasarkan nomor halaman, kita bisa menampilkan data secara bertahap:
<?php $per_halaman = 10; $halaman = isset($_GET["hal"]) ? (int)$_GET["hal"] : 1; $offset = ($halaman - 1) * $per_halaman; $sql = "SELECT * FROM produk LIMIT $per_halaman OFFSET $offset"; $hasil = $koneksi->query($sql); ?>
Karena $halaman sudah dipaksa menjadi integer dengan (int), query ini aman dari injection.
Menghitung Total Halaman
<?php
$total = $koneksi->query("SELECT COUNT(*) AS jml FROM produk")->fetch_assoc()["jml"];
$total_halaman = ceil($total / $per_halaman);
?>
Kesimpulan
Dengan MySQL Limit dan OFFSET, Anda dapat menampilkan data secara bertahap, membuat halaman lebih ringan dan navigasi lebih nyaman. Ini adalah teknik wajib untuk aplikasi dengan data berjumlah besar.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

