Anda dapat menggunakan LIMIT m,n
untuk membatasi jumlah hasil yang Anda dapatkan dan mengimbangi hasil dengan jumlah tertentu.
Sekarang Anda dapat melakukan sesuatu seperti:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
Di mana Anda menghitung $page
berdasarkan $_GET
variabel. Tapi ini tidak akan menyelesaikan keacakan Anda.
Anda selalu dapat menyemai RAND($key) dengan kunci tertentu yang Anda simpan di sesi Anda sehingga Anda dapat ORDER BY RAND($key)
dan gunakan teknik limit di atas.
Mungkin yang paling sederhana untuk diterapkan adalah mendapatkan seluruh set hasil, mengocoknya, dan menyimpannya dalam cache. Kemudian gunakan php untuk hanya menampilkan bagian tertentu dari cache.
Karena ini terkait dengan pagination. Biarkan saya memberi tahu Anda, LIMIT m,n mungkin tidak secepat kedengarannya. Pelajari cara meningkatkannya dan baca lebih lanjut tentang Pagination Efisien Menggunakan MySQL