Hallöchen...
Und wieder einmal steh' ich total auf dem Schlauch und finde den Fehler einfach nicht.
Es dreht sich um eine Statistik/Rangliste die für den Besucher grafisch etwas aufgepeppt wurde. Das heisst, wenn die Platzierung verbessert wurde ein Grüner Pfeil nach oben, analog dazu ein Roter nach unter wenn sie sich verschlechtert hat, etc.
Damit zum einen dieser Effekt nicht sinnlos ist durch ein Update der Rangliste bei jedem Seitenaufruf und zum anderen auch die Datenbank etwas entlastet wird, dachte ich mir, dass ich die Rangliste nur alle 30 Minuten aktualisieren lasse ansonsten wird die zuletzt gespeicherte ausgegeben.
Dazu bin ich wie folgt vorgegangen:
Als erstes habe ich die aktuelle Zeit auslesen lassen, im Anschluss die Zeit des letzten Updates und darauf hin dann berechnet wann das nächste Upate frühestens möglich ist.
Dann habe ich eine normale Schleife mit folgender Anweisung gezogen
Wenn die also false zurückgibt soll ein Update stattfinden, wenn sie true zurückgibt soll das zuletzt gespeicherte ausgegeben werden.
Zusätzlich lasse ich -falls ein Update stattgefindet- die aktuelle Zeit speichern
Ich hab bereits jede Zeitform ausgegeben und sie stimmen auch nur ausgeführt wird es leider nicht. CronJobs habe ich leider keine zur Verfügung sonst würde ich auf diese ausweichen.
Besten Dank im Voraus.
medium22
Edit: Hab grade eine Lösung gefunden doch leider kann ich den Beiträg nicht löschen - verzeiht.
Und wieder einmal steh' ich total auf dem Schlauch und finde den Fehler einfach nicht.
Es dreht sich um eine Statistik/Rangliste die für den Besucher grafisch etwas aufgepeppt wurde. Das heisst, wenn die Platzierung verbessert wurde ein Grüner Pfeil nach oben, analog dazu ein Roter nach unter wenn sie sich verschlechtert hat, etc.
Damit zum einen dieser Effekt nicht sinnlos ist durch ein Update der Rangliste bei jedem Seitenaufruf und zum anderen auch die Datenbank etwas entlastet wird, dachte ich mir, dass ich die Rangliste nur alle 30 Minuten aktualisieren lasse ansonsten wird die zuletzt gespeicherte ausgegeben.
Dazu bin ich wie folgt vorgegangen:
Als erstes habe ich die aktuelle Zeit auslesen lassen, im Anschluss die Zeit des letzten Updates und darauf hin dann berechnet wann das nächste Upate frühestens möglich ist.
PHP-Code:
$sql = "SELECT time FROM ranking_time";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)) {
$lasttime = $row["time"];
}
$akttime = time(); //Aktuelle Zeit
$erneuern = 1800; // Zeitspanne zum updaten (30 Minuten)
$timeset = $lasttime + $erneuern; // Errechnet letztes Update plus Zeitspanne
PHP-Code:
if ($lasttime < $timeset) {
Zusätzlich lasse ich -falls ein Update stattgefindet- die aktuelle Zeit speichern
PHP-Code:
$updatetime = time();
mysql_query("UPDATE ranking_time SET time = '$updatetime'");
Ich hab bereits jede Zeitform ausgegeben und sie stimmen auch nur ausgeführt wird es leider nicht. CronJobs habe ich leider keine zur Verfügung sonst würde ich auf diese ausweichen.
Besten Dank im Voraus.
medium22
Edit: Hab grade eine Lösung gefunden doch leider kann ich den Beiträg nicht löschen - verzeiht.
Kommentar