2016-06-29 2 views
0

Ich habe eine Liste von 10 zufälligen Bildern auf meiner Website Homepage, derzeit sind diese eingestellt zu aktualisieren und zeigen weitere 10 zufällige Bilder in einer anderen Reihenfolge jedes Mal, dass die Seite aktualisiert wird. Die Idee dabei ist, dass der Benutzer jedes Mal verschiedene Bilder sieht, wenn die Seite besucht wird.Aktualisieren Sie eine PHP Mysqli Abfrage nach einer Dauer, für die Schleife?

Ich möchte es so, dass die Bilder nur auffrischen und nach einer bestimmten Dauer 10 zufällige Bilder zeigen, zum Beispiel alle 10 Minuten, dies müsste für alle Benutzer gelten, also unabhängig davon, zu welcher Uhrzeit der Benutzer darauf zugegriffen hat Die Bilder würden die gleiche Zeit für alle Benutzer aktualisieren, dh 12-10, 12-20, 12-30 ....

Ich habe ziemlich viel Forschung darüber gemacht, wie ich das erreichen konnte, soweit Wie ich weiß, gibt es nichts, was der eigentlichen Abfrage hinzugefügt werden könnte.

Eine andere Möglichkeit besteht darin, einen for-loop-Zähler zu verwenden, dies scheint jedoch sehr ineffizient zu sein. Hier

ist die Abfrage, die ich derzeit haben:

$res = $conn->query("SELECT * FROM pages ORDER BY RAND() LIMIT 10"); 
      while($row=$res->fetch_array()) 
      { 
       include 'includes/tile.php'; 

      }  

Grundsätzlich würde ich genau wie diese Abfrage auszuführen einmal alle 10 Minuten Server breit statt auf Aktualisierung der Seite.

Jede Hilfe oder Richtung würde geschätzt werden.

+2

Rufen Sie ein Skript mit Cron, um eine HTML-Datei mit Bildern alle 10 Minuten zu erstellen, dann fügen Sie einfach die HTML-Datei auf der Seite –

+0

Können Sie mir möglicherweise eine Idee, wie dies getan wird? Danke nochmal – bradders

+0

für den Cron schau hier [wikipedia] (https://en.wikipedia.org/wiki/Cron) welches ein paar nützliche Informationen dazu hat. In Bezug auf die HTML-Datei sollten Sie ['output buffers'] (http://php.net/manual/en/book.outcontrol.php) verwenden und die Ausgabe in einer Datei speichern. –

Antwort

0

Wenn es in Ordnung ist, es für alle Benutzer gleich zu machen, dann können Sie einfach den Minutenwert des aktuellen Datums überprüfen und daraus einen Umschaltwert machen. Wenn beispielsweise das aktuelle Datum zwischen 10 und 15 liegt, $ my_var = foo.

Verwandte Themen