MySQL Ausgabe zufällig nach Zeit

  • Moin!
    Ich bekomme das leider nicht hin. Ich möchte Datensätze per Zufall ausgeben.
    Soweit so gut, habe ich hinbekommen.
    Jetzt allerdings die Steigerung:
    Die Datensätze sollen nicht nur ausgegeben werden, wenn ich die Seite aufrufe oder aktualisiere.
    Diese sollen erst per Zufall nach einer unbestimmten Zeit kommen! Zetlich soll das also auch variieren!
    Weiteres sollen die Datensätze nicht nur einmal ausgegeben werden, sollen immer und immer wieder.

    Im Netz habe ich persönlich leider nichts dementsprechend gefunden, und hoffe das ihr mir weiter helfen könnt!

    Liebe Grüße

  • Für diesen Fall würde ich einen cronjob empfehlen. Dieser ruft dann ein Script auf mit dem du die zufällige Reihenfolge aus der Datenbank holst, ggfs. auch die Ausgabe vorbereitest und das Ergebnis in einer Datei speicherst. Diese Datei würde durch den cronjob dann jedes Mal überschrieben werden. Bei der Ausgabe im Web rufst Du dann nur diese erzeugte Datei auf.

    Eine datenbankinterne Alternative wäre, wenn Du die Datensätze in einer gesonderten Tabelle speicherst und diese dann für die Ausgabe verwendest. Diese Tabelle würde dann in den von dir gewünschten Intervallen durch den Aufruf im Browser aktualisiert werden.

  • Ich hätte aber gerne unterschiedliche Intervalle. Auch damit möglich? Spricht das eine Ausgabe nach 1 Minute kommt, die nächste Ausgabe nach 3 Minuten, danach nach 2 Minuten und Dann mal nach 5 Minuten etc..

    Außerdem ist schon eine gesonderte Tabelle angelegt. Momentan nur Testweise mit 2 Einträgen.

    EDIT: Übrigens habe ich mit Cronjob null Ahnung.

    3 Mal editiert, zuletzt von Leon Yo (25. Oktober 2015 um 14:51)

  • Klar, das geht auf beiden Wegen. Wenn Du schon eine extra Tabelle dafür hast, setz dort auch einen DATETIME-Wert mit dem Zeitpunkt der letzten Änderung rein. Bei jedem Aufruf greifst Du ja ohnehin auf die Tabelle zu. Wenn Du dabei feststellst, dass der Zeitpunkt zur Aktualisierung gekommen ist, erzeugst Du die Inhalte der Tabelle neu und gibst sie direkt aus. In welchen Intervallen das dann passiert wäre völlig dir überlassen.