PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : timestamp, Aktion nur alle paar Stunden


almanya
11.01.2007, 19:35:29
Also, ich möchte eine Aktion nur alle (zB) 5 Stunden ausführen lassen können. Dafür habe ich mir überlegt, dass ich mit einem Formular einen timepstamp setze und diesen in eine Datenbank eintrage. Jetzt stellt sich für mich nur die Frage wie ich es anstellen soll, dass diese 5 Stunden sozusagen als Countdown heruntergezählt werden bis man diese Aktion ein weiteres Mal ausführen kann.

lg, almanya

Heinrich
12.01.2007, 01:09:25
Du bist dir darüber klar, dass PHP nur Aktionen ausführt, wenn eine Anfrage an den Server gestellt wird - also irgendwer eine Seite aufruft?

feuervogel
12.01.2007, 08:35:46
oder du richtest dir einen cronjob ein - selfphp bietet das sogar kostenlos an.

CIX88
12.01.2007, 09:20:02
oder : http://www.cronjob.de/

KTB
12.01.2007, 13:28:55
Ich glaube er meint etwas in der Richtung:
Countdown:
<html><head><title>Test</title>
</head><body onLoad="umrechnen()">
<script type="text/javascript">
<!--
var sekunden=310;
function umrechnen()
{
var minuten=sekunden/60;
//-----------------------------//
var round_minuten=Math.round(minuten);
if(round_minuten>minuten)
{round_minuten=round_minuten-1;}
var rest_minute=minuten-round_minuten;
//-----------------------------//
var stunden=round_minuten/60;
var round_stunden=Math.round(stunden);
if(round_stunden>stunden)
{round_stunden=round_stunden-1;}
var rest_stunde=stunden-round_stunden;
//-----------------------------//
var minute=rest_stunde*60;
var sekunde=rest_minute*60;
//-----------------------------//
var minute=Math.round(minute);
var sekunde=Math.round(sekunde);
var stunde=round_stunden;
if(minute<10){minute="0"+minute;}
if(sekunde<10){sekunde="0"+sekunde;}
if(sekunden<=0)
{
sekunden=0;
document.getElementById("zeit").firstChild.nodeValue = "fertig";
window.setTimeout('window.location.href="./index.php?sec=ausb"',4000);
}
else
{
document.getElementById("zeit").firstChild.nodeValue = stunde + ":" + minute + ":" + sekunde;
sekunden=sekunden-1;
}
window.setTimeout('umrechnen()',1000);
}
//-->
</script>
<span id="zeit">&nbsp;</span>
</body></html>
Jetzt musst du nur noch der Variable sekunden den aktuellen Wert zuweisen. Wie du den errechnest richtet sich nach der Art, welchen Wert du in die Datenbank speicherst.