Hallo,
ik ken de ORDER BY al, zo kan je aangeven volgens wat je wil ordenen, maar kan dit ook random?
Dit omdat ik gegevens wil die niet altijd op dezelfde volgorde staan.
Let alleen wel op dat RAND() notoir traag is. Het is al merkbaar bij een paar duizend record. In een eigen database met een kleine 7000 records heb ik net even gekeken en 10 records ophalen met een random order duurt 0.35 seconden, gesorteerd op een normale kolom 0.00 seconden. Bij enige tienduizenden records wordt het al bijna ondoenlijk.
Er zijn wel alternatieven met een omweg, maar dan ligt het er een beetje aan wat je wil doen. Wil je bijvoorbeeld 1 random record uit je database halen, dan zou je bijvoorbeeld eerst een count kunnen doen op het totaal, dan in php een random getal bepalen binnen dat totaal en dan met behulp van een LIMIT clause dat specifieke record ophalen. Wil je echter meerdere records dan is dat geen goede optie.
Alle records ophalen uit je database.
Daarna deze in een Array steken.
Daarna even de functie Shuffle toepassen op de array.
Dan heb je een array met alle elementen in willekeurige volgorde.
Ik moet ze allemaal hebben, maar in random volgorde, zoals ik begrijp is rand de enige oplossing.
Dan lijkt me dat je een ander probleem hebt. Ofwel je kan gewoon RAND() gebruiken omdat het aantal records niet erg groot is. Ofwel je kan RAND() niet gebruiken omdat het te traag is, maar dan kan je ze ook niet allemaal op je pagina tonen. Je gaat neem ik tenminste aan niet 10.000 of meer records op je pagina tonen.