wöchentliche zufällige ausgabe

Andreas13357

Grünschnabel
Hallo liebe Forum User,
stehe als php neuling vor einem Problem mit einer datenbankabfrage.
ich möchte gern meine Produkte aus der mysql Datenbank zufällig auswählen, das ist soweit auch kein problem. habe ich mit ORDER BY RAND() LIMIT 8 gelöst. Klappt auch super, jedoch läd das script natürlich bei jedem aufruf neue Daten. dies möchte ich ändern und zwar sollen nur einmal wöchentlich die zufällig ausgewählten produkte geändert werden, also meinetwegen jeden Montag. gibt es dazu eine Funktion? könnte mir da jemand weiterhelfen?
Ich danke euch recht herzlich im voraus
viele grüße
Andreas
 
Du könntest das Ergebnis in eine neue Tabelle speichern und da abfragen. Im der Abfrage prüfst du auch, wie lange der Eintrag schon in der neuen Tabelle ist und welcher Tag/Uhrzeit ist. Entsprechend reagierst du und liest einen neuen Datensatz aus der alten Tabelle und trägst den in die neue Tabelle ein. Vorher kannst du noch ein "DELETE FROM tabelle_neu" machen, um den Inhalt zu löschen oder ganz brutal mit "TRUNCATE TABLE tabelle_neu".

Grüße
 
hallo,
ich danke dir für den tipp.
gibt es für einen php neuling auch eine einfachere möglichkeit dies zu realisieren.
grüße
andreas
 
Also mit PHP musst du da nicht viel machen ausser halt die SQL-Statements aufrufen:

SQL:
CREATE TABLE randomEntries SELECT * FROM orig_tbl ORDER BY RAND() LIMIT 8;

Wenn wieder Montag ist, dann machst du halt vorher ein
SQL:
DROP TABLE IF EXISTS randomEntries;

Auslesen machst du entsprechend immer aus der randomEntries Tabelle.
 
Zurück