Du kan använda LIMIT m,n
att både begränsa antalet resultat du får och kompensera resultaten med ett givet belopp.
Nu kan du göra något som:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
Där du beräknar $page
baserat på en $_GET
variabel. Men detta kommer inte att lösa din slumpmässighet.
Du kan alltid se till RAND($key) av en given nyckel som du sparar i din session så att du kan ORDER BY RAND($key)
och använd ovanstående gränsteknik.
Det enklaste att implementera skulle förmodligen vara att hämta hela resultatet, blanda det och cache det. Använd sedan en php för att bara visa en specifik del av cachen.
Eftersom detta är relaterat till paginering. Låt mig säga dig, LIMIT m,n kanske inte är så snabbt som det låter. Läs om hur du förbättrar det och läs mer om Effektiv paginering med MySQL