Untuk membatasi banyaknya data dalam hasil pencarian, kita bisa menggunakan limit. Limit bisa digunakan sendiri maupun dipasangkan dengan klausa offset. Sintaks limit adalah sebagai berikut.
- {Statement select} Limit awal, {jumlah data}
- {Statement select} Limit {jumlah data} Offset awal
Sebelum mencoba menggunakan Limit dan offset, buat databasenya terlebih dahulu. Misalnya nama databasenya adalah dbku, dan tabelnya adalah tabelku. Anggap saja isi tabelnya seperti di bawah ini.
Nama | Harga |
---|---|
Pensil | 2000 |
Pulpen | 5000 |
Buku | 10000 |
Setelah database dan tabel dibuat, ketik script seperti di bawah ini.
<html>
<head>
<title>coba</title>
<style>
table, td, th{
border:1px solid black;
border-collapse:collapse;
}
</style>
</head>
<body>
<table>
<?php
$koneksi=mysqli_connect("localhost", "root", "");
mysqli_select_db($koneksi, "dbku");
$hasil=mysqli_query($koneksi, "select * from tabelku Limit 0, 10");
while($a=mysqli_fetch_array($hasil)){
echo("<tr>");
echo("<td>".$a['Nama']."</td>");
echo("<td>".$a['Harga']."</td>");
echo("</tr>");
}
mysqli_close($koneksi);
?>
</table>
</body>
</html>
Hasilnya seharusnya menampilkan data sebanyak 10 dari data yang paling awal. Itu karena data pertama offsetnya bernilai 0. Jika kalian ingin menampilkan data ke-2 dengan hasil maksimal sebanyak 20 data, kalian bisa mengubahnya seperti di bawah ini.
<html>
<head>
<style>
table, td, th{
border:1px solid black;
border-collapse:collapse;
}
</style>
</head>
<body>
<table>
<?php
$koneksi=mysqli_connect("localhost", "root", "");
mysqli_select_db($koneksi, "dbku");
$hasil=mysqli_query($koneksi, "select * from tabelku Limit 1, 20");
while($a=mysqli_fetch_array($hasil)){
echo("<tr>");
echo("<td>".$a['Nama']."</td>");
echo("<td>".$a['Harga']."</td>");
echo("</tr>");
}
mysqli_close($koneksi);
?>
</table>
</body>
</html>
Offset atau titik awal pencarian dalam sql dimulai dari 0. Jadi pada contoh di atas query menggunakan angka 1 sebagai offset saat menampilkan data ke-2 sebagai data pertama. Offset bisa ditulis sebagai angka pertama dari limit atau bisa juga ditulis dengan menggunakan klausa offset. Saat menggunakan ofsset dalam mysql, kita wajib menyertakan klausa limit.
<html>
<head>
<style>
table, td, th{
border:1px solid black;
border-collapse:collapse;
}
</style>
</head>
<body>
<table>
<?php
$koneksi=mysqli_connect("localhost", "root", "");
mysqli_select_db($koneksi, "dbku");
$hasil=mysqli_query($koneksi, "select * from tabelku Limit 20
Offset 1");
while($a=mysqli_fetch_array($hasil)){
echo("<tr>");
echo("<td>".$a['Nama']."</td>");
echo("<td>".$a['Harga']."</td>");
echo("</tr>");
}
mysqli_close($koneksi);
?>
</table>
</body>
</html>