Możesz użyć LIMIT m,n
aby zarówno ograniczyć liczbę otrzymywanych wyników, jak i zrównoważyć wyniki o określoną kwotę.
Teraz możesz zrobić coś takiego:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
Gdzie obliczasz $page
na podstawie $_GET
zmienny. Ale to nie rozwiąże twojej losowości.
Zawsze możesz umieścić RAND($klucz) przez dany klucz, który zapisałeś w swojej sesji, dzięki czemu możesz ORDER BY RAND($key)
i użyj powyższej techniki limitów.
Prawdopodobnie najprostszym do zaimplementowania byłoby pobranie całego zestawu wyników, przetasowanie go i buforowanie. Następnie użyj php, aby pokazać tylko określony fragment pamięci podręcznej.
Ponieważ jest to związane z paginacją. Powiem ci, LIMIT m,n może nie być tak szybki, jak się wydaje. Dowiedz się, jak to ulepszyć i przeczytaj więcej o Wydajnej paginacji przy użyciu MySQL