PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nach gewisser Zeit, ne gewisse Aktion ausführen



anarIX
02.02.2010, 18:04
Heyho,

Wollte fragen ob (in Text, nicht code) es geht, eine aktion immerwieder nach einer gewissen Zeitspanne auszuführen - ohne dass die seite aufgerufen wird?

zum beispiel einen tabelleneintrag nach einer minute zu updaten - immer wieder - wie bei einem browser game?

thx an alle die antworten
anarx

blackberry
02.02.2010, 18:11
Soweit ich weiß ist das mit PHP nicht möglich, es sei denn dein Skript wird immer wieder von etwas Anderem aufgerufen (siehe "jobs"), oder läuft nicht direkt über den Webserver sondern als normaler Prozess (dafür wäre die "sleep"-Funktion hilfreich).


MfG. BlackBerry

anarIX
02.02.2010, 18:14
Und wie wäre es, wenn das script das ganze erst macht, wenn der benutzer die seite aufruft? (dann auch die vergange zeit miteinberechnet)

Perishand
02.02.2010, 19:28
Um ein bestimmtes Script immer wieder ablaufen zu lassen zu ganz bestimmten Zeiten (Bestimmte Stunden oder z. B. alle 5 min) kannst du Cronjobs holen, es gibt viele kostenlose Serviceanbieter dafür.

Wenn du was anderes meinst, bitte beschreib es deutlicher.

MfG

H4x0r007
02.02.2010, 20:38
Meinst du, dass ein User, der auf einer Website ist, einen ständig aktuellen Inhalt bekommt?
Das geht mit AJAX. Verwendet wird JavaScript (für Timer von z.B. 1 Minute) und die dahinterstehende PHP-File, die die Daten auf Anfrage liefert.

//edit:
zum beispiel einen tabelleneintrag nach einer minute zu updaten - immer wieder - wie bei einem browser game?

Solltest du nur alle paar Minuten eine Zeit in der Tabelle ändern wollen: Speichere den Zeitpunkt, an dem du die Aktion gestartet hast als Timestamp und speichere die Dauer, wie lange es braucht. Beim nächsten Aufruf der Seite kannst du dann in der PHP-File errechnen, wie lange der Bau von irgendwas noch dauert oder ob er schon abgeschlossen ist. Nur wegen einer Zeit ständig Inhalte in einer Datenbank zu ändern macht keinen Sinn.