ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
254
254
EMPFEHLEN
-
21.09.07 22:28 #1
- Registriert seit
- Jun 2007
- Ort
- Lingen (Niedersachsen, zZ in Istanbul)
- Beiträge
- 685
Hi,
ich würde gerne folgendes realisieren:
Ich möchte einen Update query erst ausführen, wenn eine bestimmte, variierende Zeit vergangen ist. Dies muss auch funktionieren, wenn der Browser offline ist.
Kann mir jemand nen Codeschnipsel oder nen Denkanstoß geben?
-
Hi,
http://www.php.net/sleep
Allerdings grundsätzlich nicht zu empfehlen ...
Ansonsten nur mit einem Chronjob zu realisieren.
Man müsste wissen, was Du genau damit vor hast
Gruß tyg3r
-
21.09.07 23:11 #3
- Registriert seit
- Jun 2007
- Ort
- Lingen (Niedersachsen, zZ in Istanbul)
- Beiträge
- 685
Also sleep eher nicht,
denn wenn der Browser geschlossen ist, funktioniert das nicht mehr.
Außerdem muss das Script auch weiterlaufen, und darf nicht unterbrochen werden.
Ich benötige das für ein Browsergame, damit Gebäude erst anch 2h oder so fertig gestellt sind.
-
Wenn ich jetzt richtig verstanden habe
Dann würde ich dir zu nen Cronjob raten der alle x sekunden eine DB abfrage startet und die aktuelle Zeit mit der Fertigstellungszeit vergleicht und gegebenenfalls dann Gebäude + 1 setzt.
Wenn du nen eigenen root hasst ist das ja kein Problem. Auserdem gibt es kostenlose hoster die allerdings (die wo ich kenne) nur eine Aktuallisierung alle 10 min zulassen aber zum testen.. dürfte das reichen..
mfg Spikaner
-
Hi,
Ein Script läuft bis zum Ende durch, egal, ob der Browser geschloßen wird oder nicht.
In Deinem Fall (BrowserGame) sollte man eine ganz andere Lösung in Erwägung ziehen:
In der Datenbank wird zum "Gebäude" der Zeitpunkt wann es erstellt wurde mit abgespeichert.
Bei einem erneutem Seitenaufruf wird das Gebäude aktiviert, wenn das Erzeugungsdatum lange genug zurückliegt (muss ja nicht nur durch den Spieler selbst, sondern kann auch durch andere Spieler geschehen).
Man kann dann auch noch Differenzrechnungen vornehmen, also man ermittelt, wielange das Gebäude "eigentlich" schon aktiv sein müsste (da ein Update der Datenbank ja auch erst später erfolgen kann) und kann z.B. die von dem Gebäude produzierten Resourcen hochrechnen.
Ein Cronjob ist hier auch fehl am Platz, da es ja gut sein kann, dass die Fertigstellung des Gebäudes innerhalb der von Spikaner genannten 10 Minuten liegt ... wirkt sich schlecht auf den Spielverlauf aus
Gruß tyg3rGeändert von Tyg3r (21.09.07 um 23:32 Uhr)
-
21.09.07 23:31 #6
- Registriert seit
- Jun 2007
- Ort
- Lingen (Niedersachsen, zZ in Istanbul)
- Beiträge
- 685
also so:
Ich füge ein NOW() ein,
und frage das dann ab, und subtrahieren dann
das aktuelle Datum von NOW()
so?
-
Ja genau,
Du kannst es auch so machen:
$bauzeit = 60*60; // in sek = 1std
NEW TIMESTAMP(NOW())+$bauzeit // bin mir beim Syntax nicht ganz sicher
also Feld vom Typ INT 20
und dann einfach immer testen, ob der in der DB stehende Wert größer als time() ist.
Gruß tyg3r
Ähnliche Themen
-
sekunden nach Minuten und sekunden
Von mgraf im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 23.09.08, 16:47 -
Umleitung nach xx Sekunden
Von Peter Klein im Forum PHPAntworten: 5Letzter Beitrag: 30.08.08, 13:18 -
abruch nach 30 sekunden
Von macropode im Forum PHPAntworten: 1Letzter Beitrag: 22.08.08, 13:31 -
Bilderwechseln nach 5 Sekunden
Von PaZiHH im Forum PHPAntworten: 1Letzter Beitrag: 03.01.04, 15:26 -
Download nach Sekunden
Von Koose im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 10.07.02, 17:01





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren