Wer kennt das nicht, man will einen zufälligen Datensatz (Rezept/Zitat/Bild) aus einer Tabelle holen und anzeigen lassen.
Soweit kein Problem, doch was ist, wenn ein Besucher etwas gesehen hat und nach dem Besuch der zweiten oder dritten Seite nochmal das zufällig angezeigte Rezept/Zitat/Bild sehen will? Wir brauchen also einen Zufallswert, der sich nur einmal täglich ändert.
Die Lösung ist: Wir geben dem rand() einfach einen Wert zur Initialisierung mit.
select * from tabelle order by rand(date_format(now(), '%d%m%Y'));
Dazu nutzt man einen Integer, den bilden wir einfach aus dem aktuellen Tag, Monat und Jahr – und da sich dieses Datum nur einmal am Tag ändert, bekommen wir Zufallsdaten zurückgeliefert, die sich nur einmal am Tag ändern.

0 Responses to “MySQL: Zufallsdaten, die sich nur einmal am Tag ändern”