U kunt LIMIT m,n
. gebruiken om zowel het aantal resultaten dat u krijgt te beperken als de resultaten te compenseren met een bepaald aantal.
Nu zou je zoiets kunnen doen:
SELECT * FROM questions WHERE QuizID=1 LIMIT $page,5;
Waar bereken je de $page
gebaseerd op een $_GET
variabel. Maar dit lost je willekeur niet op.
Je kunt altijd RAND($key) door een bepaalde sleutel die u in uw sessie opslaat, zodat u ORDER BY RAND($key)
kunt en gebruik de bovenstaande limiettechniek.
Waarschijnlijk het eenvoudigst te implementeren zou zijn om de volledige resultatenset te krijgen, deze in willekeurige volgorde te schudden en in de cache te plaatsen. Gebruik dan een php om alleen een specifiek deel van de cache te tonen.
Aangezien dit te maken heeft met paginering. Laat me je vertellen dat LIMIT m,n misschien niet zo snel is als het klinkt. Meer informatie over hoe je het kunt verbeteren en lees meer over Efficiënte paginering met MySQL