LIMIT m,n
を使用できます 取得する結果の数を制限し、結果を特定の量だけオフセットします。
これで、次のようなことができます:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
$page
を計算する場所 $_GET
に基づく 変数。しかし、これはあなたのランダム性を解決しません。
いつでもRAND($ key)をシードできます ORDER BY RAND($key)
ができるように、セッションに保存した特定のキーによって 上記の制限手法を使用します。
おそらく、実装するのが最も簡単なのは、結果セット全体を取得し、それをシャッフルしてキャッシュすることです。次に、phpを使用して、キャッシュの特定のチャンクのみを表示します。
これは改ページに関連しているので。言っておきますが、LIMIT m、nは思ったほど速くないかもしれません。 改善方法を学ぶ MySQLを使用した効率的なページネーション の詳細をご覧ください。