Seperti yang Anda tebak, Anda harus menggunakan LIMIT
kata kunci
.
Ia menerima dua nilai (mengutip) :
- offset dari baris pertama yang dikembalikan
- jumlah maksimum baris yang akan dikembalikan
Dalam kasus Anda, Anda harus menggunakan sesuatu seperti ini untuk halaman pertama :
select * from your_table order by ... limit 0, 50
Dan, kemudian, untuk halaman kedua :
select * from your_table order by ... limit 50, 50
Dan untuk yang ketiga :
select * from your_table order by ... limit 100, 50
Dan seterusnya;-)
Edit setelah komentar : untuk mendapatkan nomor halaman, Anda harus menerimanya dari URL Anda, yang akan terlihat seperti ini :
http://www.example.com/page.php?pagenum=2
Kemudian, Anda akan menghitung nilai pertama untuk limitnya, :
$offset = 50 * intval($_GET['pagenum']);
Dan masukkan ke dalam kueri Anda :
select * from your_table order by ... limit $offset, 50
Membuat URL ke halaman yang berbeda sekarang menjadi masalah untuk mendapatkan URL seperti ini :
http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...
Jika Anda tahu Anda memiliki 700 elemen, dan 50 per halaman, Anda akan memiliki 700/50 halaman;-)
Jadi, hal seperti ini akan berhasil :
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
Tentu saja, 700 adalah nilai yang mungkin dapat berubah, dan tidak boleh di-hard-code :harus ditentukan dari database, menggunakan count
pertanyaan :
select count(*) as total
from your_table
...