# Javascript + PHP - Countdown



## Operator_Jon (23. September 2003)

HI!
So, ich möchte javascript mit php zusammen schmeißen um einen countdown zu erzeugen.
Ich habe es fast geschafft, nur fehlt da noch etwas logisches denken...
Nehmen wir mal wieder das beispiel Insel-Monarchie!
Dort baut man ein gebäude, das z.b. 180sekunden dauern soll.
nun folgender code(habe extra nur dateien genommen, daich auf mysql immoment kein bock hatte^^):

```
<html>
<head>
<title>Test1</title>
<script>
function pop() {
  var attribWithoutAll="location=no,menubar=no,toolbar=no,status=no";
  attribWithoutAll+=",resizable=no,scrollbars=no,width=450,height=200";
  subwindow=window.open("popup.php","popup",attribWithoutAll);
  subwindow.moveTo(10,50);
}
</script>
</head>
<body onUnLoad="pop()">
<?php
if ($action == "") {
if (!file_exists("time.db")) {
?>
<form name="form" action="<?php $_PHP_SELF ?>?action=build" method="post">
<input type="submit" value="build thing" />
</form>
<?php
}
else {
$fp = fopen("time.db","r");
$data = fgets($fp,99);
fclose($fp);
$data = time() - $data;
$fp = fopen("build.db","r");
$data2 = fgets($fp,99);
fclose($fp);
$data = $data2-$data;
echo "<form name='form'>";
echo "<input type='hidden' name='field' value='$data'>";
echo "</form>";
?>
<SCRIPT type="text/javascript">
        var field = window.document.form.field.value;
        var TargetTime = new Date();
        var TimeBeginn = TargetTime.getTime();

    function CountDown(myid, seconds) {
	var CurrentDate = new Date();
        var CurrentTime = CurrentDate.getTime();
        var TimeEnd = TimeBeginn + (seconds*1000);
        TargetTime.setTime(TimeEnd);
        var Targetbox=document.getElementById(myid);
        var OpenTime = Math.floor((TargetTime-CurrentTime)/1000);

        var s = OpenTime % 60;
        var m = ((OpenTime-s)/60) % 60;
        var h = ((OpenTime-s-m*60)/(60*60));
        var fh  = ((h < 10) ? "0" : "");
        var fm  = ((m < 10) ? ":0" : ":");
        var fs  = ((s < 10) ? ":0" : ":");

        var Time = fh+h+fm+m+fs+s;
        var OutputString=Time;

        if(OpenTime<=0) { // Event wenn der Countdown abgelaufen ist
            var OutputString="Jetzt!";
          }
          Targetbox.innerHTML=OutputString; // Ausgabe des Strings in der Betreffenden Zelle
	  window.setTimeout("CountDown('" + myid + "', '" + seconds + "')", 1000);
    }
</script>
<span id='id'><script type='text/javascript'>CountDown('id', field);</script></span>
<?php
}
}
if ($action == "build") {
  $fp = fopen("time.db","w");
  fwrite($fp,time());
  fclose($fp);
  ?>
  <meta http-equiv="refresh" content="4; URL=test1.php">Weiterleitung in 4 Sekunden!
  <?php
}
?>
</body>
</html>
```
jedes gebäude hat nunmal eine bauzeit!
Ich schreibe den aktuellen timestamp in eine datei um ihn dann wieder zu lesen.
die differenz aus dem aktuellen timestamp und dem beim verlassen wird errechnet und von der bauzeit abgezogen.
die bauzeit beträgt in diesem fall 120sekunden.
aber irgendwie klappt es manchmal und irgendwie nicht?

/€dit:
habs selber gelöst 
-close- please!


----------



## Tim C. (23. September 2003)

Eine Antwort, wie du es gelöst hast, wäre im Sinne aller.


----------



## MiLa (23. September 2003)

Ja, so eine Sache wird relativ oft gefragt.
Ehrlich gesagt könnte ichs auch gebrauchen 

Also lasset den Egoismus nicht über die Gemeinschaft siegen !


----------



## Operator_Jon (23. September 2003)

nein, kein problem, mache ich gerne!
ist aber ein test script, d.h. nicht grade sehr freundlich geschrieben:-( 
es basiert auch noch nicht auf mysql oso, läuft mit einfachen dateien!
(cool, das die ganzen cracks es noch nicht geschafft habe und ich schon )
von egoismus war keine rede, ich wusste ja nicht, das so viele es haben wollen 
aber was laber ich:

```
<html>
<head>
<title>Test1</title>
</head>
<body>
<?php
if ($action == "") {
if (!file_exists("time.db")) {
?>
<form name="form" action="<?php $_PHP_SELF ?>?action=build" method="post">
<input type="submit" value="build thing" />
</form>
<?php
}
else {
$fp = fopen("time.db","r");
$data = fgets($fp,99);
fclose($fp);
$data = time() - $data;
$fp = fopen("build.db","r");
$data2 = fgets($fp,99);
fclose($fp);
$data = $data2-$data;
echo "<form name='form'>";
echo "<input type='hidden' name='field' value='$data'>";
echo "</form>";
if ($data >> $data2) {
  echo "";
}
else {
?>
<SCRIPT type="text/javascript">
        var field = window.document.form.field.value;
        var TargetTime = new Date();
        var TimeBeginn = TargetTime.getTime();

    function CountDown(myid, seconds) {
	var CurrentDate = new Date();
        var CurrentTime = CurrentDate.getTime();
        var TimeEnd = TimeBeginn + (seconds*1000);
        TargetTime.setTime(TimeEnd);
        var Targetbox=document.getElementById(myid);
        var OpenTime = Math.floor((TargetTime-CurrentTime)/1000);

        var s = OpenTime % 60;
        var m = ((OpenTime-s)/60) % 60;
        var h = ((OpenTime-s-m*60)/(60*60));
        var fh  = ((h < 10) ? "0" : "");
        var fm  = ((m < 10) ? ":0" : ":");
        var fs  = ((s < 10) ? ":0" : ":");

        var Time = fh+h+fm+m+fs+s;
        var OutputString=Time;

        if(OpenTime<=0) { // Event wenn der Countdown abgelaufen ist
            var OutputString="Jetzt!";
          }
          Targetbox.innerHTML=OutputString; // Ausgabe des Strings in der Betreffenden Zelle
	  window.setTimeout("CountDown('" + myid + "', '" + seconds + "')", 1000);
    }
</script>
<span id='id'><script type='text/javascript'>CountDown('id', field);</script></span>
<?php
}
}
}
if ($action == "build") {
  $fp = fopen("time.db","w");
  fwrite($fp,time());
  fclose($fp);
  ?>
  <meta http-equiv="refresh" content="4; URL=test1.php">Weiterleitung in 4 Sekunden!
  <?php
}
?>
</body>
</html>
```


----------



## Radeon (25. September 2003)

Hallo
Habe mal eine Frage:
Könnte mir vielleicht jemand von ihnen das Obige script so umschreiben das er die mysql befehle noch in dem script ausführt und nicht in einer extra datei z.B. build.db öffnet?

Aber die funktion sollte gleich bleiben sprich countdown und gebäude bau usw..

Danke im vorraus.

MFG

Radeon


----------



## Operator_Jon (25. September 2003)

klar geht das, ich sagte ja, es ist nur eine testdatei für mich!
es lässt sich natürlich auf mysql umschreiben!

mal sehen ob ich das gleich noch schaffe, oder nicht, ich denke schon^^

€dit:
ich mache das mal eben erstmal für ein gebäude, den rest schaun wir mal!


----------



## Radeon (25. September 2003)

Ok danke dir  
Ich nehme mal an das du auch so ein Online Game baust oder? Wenn ja was für eins soll das den mal werden?


----------



## Operator_Jon (25. September 2003)

ok:
_sql1:_ 

```
CREATE TABLE `bauten` (
`ID` INT(8) UNSIGNED DEFAULT '0' NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`name` VARCHAR(50) NOT NULL, 
`bauzeit` INT(8) NOT NULL
);
```
_sql2:_ 

```
CREATE TABLE `in_bau` (
`ID` INT(8) UNSIGNED DEFAULT '0' NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`b_id` INT(8) NOT NULL, 
`time` VARCHAR(50) NOT NULL
);
```

also das ist jetzt so geschrieben, das du die abfrage noch mit ner user abfrage machen musst!
das kannst aber dann selber ändern also "SELECT... WHERE user='".$_SESSION["user"]."'"
oso

Bin ein wenig verkalkt heute, hat ziemlich lange gedauert!
aber ich habs doch noch hingekriegt!
es ließe sich noch was in performance richtung verändern, aber da hatte ich keine zeit mehr zu!

/€dit:
Kleiner Schönheitsfehler!
unten wo er den datensatz dann automatisch löschen soll, steht
if ($data2 >> $data) {
muss geändert werden in:
if ($data >> $data2) {


----------



## Operator_Jon (25. September 2003)

noch mal ne änderung zur if abfrage:

```
if ($data2 <= $data) {
    $query = "DELETE FROM in_bau WHERE ID='$id'";
    mysql_query($query,$conn) or die(mysql_error());
  }
```


----------



## Radeon (26. September 2003)

ok danke aber ich habe jetzt mit dem script schon wieder ein problem....

Ich habe versucht es so zu machen das jeder user in der "in_bau" tabelle seine spallte hat so das dass script erkennt wer gerade was baut und das jeder user in der "bauen" tabelle seinen eigenen namen hat. Weil ja jeder user seine Gebäude auf einem anderen level  hat... ich bekomme das aber leider nie hin, keine ahnung warum 

Frage könnten sie das für mich machen? (Das was ich ihnen per PN geschickt habe brauch ich dann auch nimmer  )

Danke im vorraus


----------



## Operator_Jon (26. September 2003)

ok, zuerst einmal ist das du ok^^
den rest per icq!


----------



## der_Admiral (12. Oktober 2003)

Joar, hier dein Code nochmal mit db eintrag .. mein Prob ist, das ich es nicht testen kann, weil ich immerwieder fehlermeldungen bekomm (hab MS Visual Studio C++ 6.0 drauf und da ist nen Debugger drin, der sich überall einmischt und ich nich weis, wie ich den stresser abstell) von wegen, var field = window.document.form.field.value; ist NULL oder kein Objekt, genauso bei  var TargetTime = new Date();


Kann mir da einer disbezüglich helfen?
Axo und nochmal big  für den Urcode@Operator_Jon

```
<?php
include('connection.php');
$a_user = array("id" => "2");
$to_build = "1";
	$select = mysql_select_db ($db_game, $db);
	$uc = mysql_query("SELECT * FROM `construct`, `construction` WHERE construction.`ID` = construct.`b_id` AND construct.`member_id` LIKE \"$a_user[id]\" AND construct.`b_id` LIKE \"$to_build\"");
	$uc_menge = mysql_num_rows($uc);
		echo "Anzahl: $uc_menge";
	if(!$uc_menge){
	?>
<form name="form" action="<?php $_PHP_SELF ?>?action=build" method="post">
<input type="submit" value="verbessern" />
</form>
<?php
	}
	else{
		echo "doch was da ..";
		$a_data = mysql_fetch_array($uc);
		$data = $a_data[3]; //Bau seit ...
		$data = time() - $data;
		$data2 = $a_data[6]; //Bauzeit
		$data = $data2 - $data;
		echo "<form name'form'><input type='hidden' name='field' value='$data'</form>";
		if ($data2 <= $data){
    		$query = "DELETE FROM `construct` WHERE construct.`b_id` = \"$to_build\"";
    		mysql_query($query);
		}
		else{
?>
<SCRIPT type="text/javascript">
        var field = window.document.form.field.value;
        var TargetTime = new Date();
        var TimeBeginn = TargetTime.getTime();

    function CountDown(myid, seconds) {
    var CurrentDate = new Date();
        var CurrentTime = CurrentDate.getTime();
        var TimeEnd = TimeBeginn + (seconds*1000);
        TargetTime.setTime(TimeEnd);
        var Targetbox=document.getElementById(myid);
        var OpenTime = Math.floor((TargetTime-CurrentTime)/1000);

        var s = OpenTime % 60;
        var m = ((OpenTime-s)/60) % 60;
        var h = ((OpenTime-s-m*60)/(60*60));
        var fh  = ((h < 10) ? "0" : "");
        var fm  = ((m < 10) ? ":0" : ":");
        var fs  = ((s < 10) ? ":0" : ":");

        var Time = fh+h+fm+m+fs+s;
        var OutputString=Time;

        if(OpenTime<=0) { // Event wenn der Countdown abgelaufen ist
            var OutputString="Jetzt!";
          }
          Targetbox.innerHTML=OutputString; // Ausgabe des Strings in der Betreffenden Zelle
      window.setTimeout("CountDown('" + myid + "', '" + seconds + "')", 1000);
    }
</script>
<span id='id'><script type='text/javascript'>CountDown('id', 'field');</script></span>
<?php
		}
	}
if ($action == "build"){
		$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values (\"$a_user[id]\",'$to_build',\"time()\"");
 		echo "<meta http-equiv=\"refresh\" content=\"4; URL=countdown.php\">Weiterleitung in 4 Sekunden!";
	}
?>
```


----------



## Operator_Jon (12. Oktober 2003)

Ne MySql Version hatte Ich auch schon mit Radeon ausgearbeitet 

Is echt cool geworden 




```
<span id='id'><script type='text/javascript'>CountDown('id', 'field');</script></span>
```
Ändern in:

```
<span id='id'><script type='text/javascript'>CountDown('id',field);</script></span>
```
Dann sollte das Problem behoben sein!
Du übergibts ja das hidden Feld, nicht den Text "field", klar soweit?

Das mit TargetTime kann Ich mir irgendwie nicht erklären


----------



## der_Admiral (14. Oktober 2003)

Ich kenn mich in Java aber leider absolut nihct aus .. und so wie du mir das sagtest mit dem Feld, das funktzt auch net, hatte es vorher ja auch so und nun wieder so und bekomm noch die selben feher .. kann man den beiden variablen nich noch auf nen anderen weg ihren wert zuweisen ? wird da irgendwas vielleicht nicht richtig ausgelesen ? also wenn ich mir den Quellcode ausm browser anschau dann steht ja im formular nen wert, irgendwas mit 29.... also hat ers doch berechnet, aber warum nimmt er's nicht, hab ich irgendwelche Variablen im JavaScript nicht angepasst, die ich in php geändert hab  zum beispiel das ding mit der id ...


----------



## Operator_Jon (14. Oktober 2003)

Tust Du mir einen gefallen und prüfst das nächste mal den code nochmal?

```
echo "<form name'form'><input type='hidden' name='field' value='$data'</form>";
```
ändern in:

```
echo "<form name'form'><input type='hidden' name='field' value='$data'></form>";
```


----------



## der_Admiral (15. Oktober 2003)

Joar, vielen Dank, aber das hilft nicht, hab immernoch die selben Fehlermeldungen per PopUp



```
echo "<form name=\"form\"><input type='hidden' name='h_field' value='$data'></form>";
```

So muss es aussehen, jetzt funktzt .. big  @ jon


----------



## Operator_Jon (15. Oktober 2003)

Achja, vergessen 
HTML mag das ' ja nicht


----------



## der_Admiral (16. Oktober 2003)

nur irgendwie funktionieren die letzen paar Zeilen, mit der Eingabe in die DB nicht .. ich hab mal nen echo mit den Werten hin gemacht, aber das wird erst garnicht ausgegeben ...die Adresse wird allerdings geparset ..


----------



## Operator_Jon (16. Oktober 2003)

```
$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values (\"$a_user[id]\",'$to_build',\"time()\"");
```
ändern in:

```
$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values ('".$a_user[id]."','".$to_build."','".time()."'");
```


----------



## der_Admiral (17. Oktober 2003)

, aber wie gesagt geht er erst garnicht dorthin. Kannst mir mal Alternativen für die Ausgabe "Jetzt!" in Java geben? Zum Beispiel ne Weiterleitung zu ner Seite x.php?blub=bla&etc=soweiter

?
 im vorraus

P.S.: Wenn ich es mal schaffen sollte, das mein Project einigermaßen läuft, zählst du zu meinen ersten Beta-Usern *g*


----------



## Operator_Jon (17. Oktober 2003)

```
location.href="blablablub.php?bla=blub";
```


----------



## Tageslicht (4. Dezember 2004)

Hallo , also ich habe mal die tabelen erstellt und auch die daten in der datei meiner DB angepasst ! 

Aber als ergebnis bekomme ich ne weisse seite angezeigt ! 

Weiss wer warum ? 


Gruss Tageslicht


----------



## trucidare (29. Januar 2005)

tu doch mal ein paar gebäude in die tabelle bauten.

denn geht das auch


----------



## trucidare (29. Januar 2005)

Ich hab noch ne frage wie kann ich dieses script für jeden einzeln steuen sprich user id abhängig wer was baut.
danke schonmal


----------



## Tageslicht (20. Februar 2005)

so richtig bekomme ich es immer noch nicht hin ! So sehen nun meine Tabellen aus : 



```
CREATE TABLE `in_bau` (
`ID` int(8) unsigned NOT NULL auto_increment,
`b_id` int(8) NOT NULL default '0',
`time` varchar(50) NOT NULL default '',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=2 ;
 
und 
 
CREATE TABLE `bauten` (
`ID` int(8) unsigned NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
`bauzeit` int(8) NOT NULL default '0',
PRIMARY KEY (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
 
#
# Daten für Tabelle `bauten`
#
 
INSERT INTO `bauten` VALUES (1, 'Goldmine', 60);
INSERT INTO `bauten` VALUES (2, 'Holzfällerhütte', 70);
```
 
So nun bekomme ich 2 links angezeigt ( einmal " Goldmine " und einmal "Holzfällerhütte" )

Klicke ich auf einen der beiden tut sich überhaupt nichts ! ich hänge mal meine " bau.php " an ! 

Kann sich das mal wer anschauen ? 

Mfg 

Tageslicht


----------



## X9kl3m2 (26. Februar 2005)

Hallo Tageslicht...

ich kucke mir mal deine bau.php an und schreib die mal etwas um das es geht   
ich melde mich mal wenn ich es geschaft haben sollte...


----------



## X9kl3m2 (27. Februar 2005)

Huhu, ich habe mich mal hingesetz und den Quelltext umgeschrieben...

allerdings habe ich das Urscript des Postes umgeschrieben , da dieses ja funktionierte...

fall einer den funktionierende Quelltext haben will soller mal was hier reinschreiben...

edit:

Ich habe das script natürlich auf Mysql-basis umgeschrieben...


----------



## Operator_Jon (27. Februar 2005)

Wer eine funktionierende Version haben will, hätte sich ja auch mal beim Threadersteller melden können, ich hab auch ne MySQL-Version fertig irgendwo rumliegen, aber schön zu sehen das man sich so an meinen kläglichen ersten PHP-Versuchen erfreut


----------



## Tageslicht (28. Februar 2005)

Hallo Operator_Jon 

Ich hatte mich per ICQ bei dir gemeldet aber du hattest mich weiter verwiesen wo mir auch nicht geholfen werden konnte ! 

Wenn du bereit wärst mir zu helfen würd ich mch sehr freuen ! 

Gruss tageslicht


----------



## Operator_Jon (28. Februar 2005)

Mmmm...
Dachte ich hätte dir ne funktionierende Version gegeben!?


----------



## X9kl3m2 (28. Februar 2005)

hallo operator_Jon,

die version die du angebenen hast könnte natürlich richtig sein...
aber du hattest Tabellen benutzt die du nicht angeben hast und daher funktioniert der ganze Mysqlspass nicht.

falls noch einer bedarf an dem script hat dann soller dies äußern...

mfg


----------



## Operator_Jon (28. Februar 2005)

Klar hatte ich die mit angegeben, villeicht nicht hier im Thread, aber Tageslicht hatte ich die auf jeden Fall gegeben, aber back2topic


----------



## Tageslicht (2. März 2005)

Also ich wäre an einer Funktionstüchtigen Version noch interessiert und würde mich sehr freuen wenn sie mir einer geben kann ! 

Meine E-Mail 

fegefeuer_01@web.de 


Mit freundlichen Grüssen

Tageslicht


----------



## trucidare (2. März 2005)

boa wie müde geht das denn also meine version  super danke op_jon ^^

kann alles bauen was ichin der liste hab zeigt mir die zeit an usw. top leistung again op. ^^


----------



## xChronoX (2. März 2005)

...wenn es dir nichts ausmacht, könnte ich eine funktionsfähige Version gebrauchen.....da es  mir gerade passt, da ich gerade ein online game code..........

...nur wenn es dir nichts ausmacht, würde auch hinweisen woher dieser code stammt........

hier meine e-mail : PredatoR@mechwarriorsnet.de

..schonmal danke.....

mit freundlichen grüßen

chrono


----------



## trucidare (2. März 2005)

is kein problem musst es denn nur bei dir anpassen. ich schicks gleich morgen los sorry hab kein nerv mehr heut zu schicken aber auf einen tag kommt snich an ^^ 
also bis morgen


----------



## xChronoX (3. März 2005)

..das wäre super...... 

danke...


----------



## Harper (9. März 2005)

kann man dieses script noch irgendwie erhaschen?  
wenn ja, meld ich auch interesse an  

thorsten@continere.de


----------



## xChronoX (9. März 2005)

......nur mal sooo?.......


......ääh, wäre es nicht leichter den Script, hier zu verfügung zu stellen........?......


.....ich wäre nähmlich sehr dankbar, wenn man mir das schön gecodete *schleim* Script zuschicken könnte....



mit freundlichen grüßen

xchronox


----------



## Freakli (5. April 2010)

Joar, auch wenn der Thread veraltet is

ich brauche das script auch in einer funktionierenden umgebung
bei mir kommt da gar nichts 

also bitte mal hier anheften


----------



## Daniel0108 (6. April 2010)

Für alle die das Script noch suchen...
Habe es hier bereits gepostet  
http://www.tutorials.de/forum/php/354167-browsergame-tick-system-aber-wie.html#post1835771
Hoffe es hilft euch 
Daniel0108


----------



## Freakli (6. April 2010)

Leider hilft mir das null weiter...

ich arbeite nicht mit Ajax...

ich such doch nur nen einfachen CountDown ....>.<

Leider habe ich wenig erfahrungen in JS, kann nur den alert() befehl^^


----------



## Daniel0108 (6. April 2010)

aso, sorry...
Dann poste ich halt noch den ajax code dazu 


```
<script type="text/javascript">
  <!--
	var request = false;
function setRequest () {
	// Request senden
		// Request erzeugen
		if (window.XMLHttpRequest) {
			request = new XMLHttpRequest(); // Mozilla, Safari, Opera
		} else if (window.ActiveXObject) {
			try {
				request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
			} catch (e) {
				try {
					request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
				} catch (e) {}
			}
		}

		// überprüfen, ob Request erzeugt wurde
		if (!request) {
			alert("Kann keine XMLHTTP-Instanz erzeugen");
			return false;
		} else {
			var url = "time.php";
			// Request öffnen
			request.open('post', url, true);
			// Request senden
			request.send(null);
			// Request auswerten
			request.onreadystatechange = interpretRequest;
		}
}
function interpretRequest () {
	// Request auswerten
		switch (request.readyState) {
			// wenn der readyState 4 und der request.status 200 ist, dann ist alles korrekt gelaufen
			case 4:
				if (request.status != 200) {
document.getElementById('time').src = "time.php";
				} else {
					var content = request.responseText;
					// den Inhalt des Requests in das <div> schreiben
					document.getElementById('time').innerHTML = content;
				}
				break;
			default:
				break;
		}
}
setInterval("setRequest()",1000);
  //-->
  </script>
<div id="time"></div>
```
Das müsste klappen 
Ajax ist nur dazu da das man nicht immer reloaden muss um die neue Zeit zu sehen 
PS: Es wird alle 1000ms = 1 Sekunde neu geladen 
PPS: Falls du nur ein JavaScript suchst, ohne PHP und so... habe ich hier ein Script(nicht getestet):

```
<html>
<head>
<script language="JavaScript">
var ison = false;
function nill(timevar) {
	if (timevar < 10) timevar = "0" + timevar;
	return timevar;
}
function start_ticker() {
	var regzeit = /^\d{0,2}$/;
	var mint = false;
	var sect = false;
	(regzeit.exec(document.theticker.esec.value)) ? mint = true : void(0);
	(regzeit.exec(document.theticker.emin.value)) ? sect = true : void(0);
	(mint && sect) ? go_ticker() : document.theticker.reset();
}
function go_ticker() {
	var min = document.theticker.emin.value;
	var sec = document.theticker.esec.value;
	if (parseInt(min) > 0 || parseInt(sec) > 0) {
		if (parseInt(min) < 61 || parseInt(sec) < 100) {
			(parseInt(min) > 0) ? tmin = parseInt(min) : tmin = 0;					
			(parseInt(sec) > 0) ? tsec = parseInt(sec) : tsec = 0;
			timeticker = tmin * 60 + tsec;
			ison = true;
			printit_ticker();			
		} else {
		}
	}
	
}
function printit_ticker() {
	document.theticker.mins.value = nill(Math.floor(timeticker / 60));
	document.theticker.secs.value = nill(timeticker % 60);
	if (timeticker > 0) { 
		zeitgeber = setTimeout("printit_ticker()", 1000);
	} else {
		ison = false;
	}
	timeticker --;
}
</script>
</head>
<body>
<form name="theticker">
<input type="hidden" name="emin" value="1"> <!-- Minuten=1 -->
<input type="hidden" name="esec" value="15"> <!-- Sekunden=15 -->
<input type="text" name="mins" size="2" value="00" class="disabled" disabled> Minutes
<input type="text" name="secs" size="2" value="00" class="disabled" disabled> Seconds
<input type="button" value="Ready?" onclick="(ison == false) ? start_ticker() : void(0)">
</form>
</body>
</html>
```
Hoffe es hilft dir jetzt,
Lg
Daniel0108


----------



## Freakli (6. April 2010)

Das JS sieht gut aus ^^

Da habe ich trozdem nur ein Prob.
Meine zeit setz sich so zusammen:
Aus der Datenbank zB.: 7 std. -> wird als time gesichert => 25200 Sekunden
so, das muss also ablaufen^^
natürlich als ausgabe: Restzeit: 7 Stunden, 0 Minuten und 0 Sekunden
und wenn das fertig ist, sollte sich die seite neu laden ^^


----------



## Daniel0108 (7. April 2010)

Neu laden?
Das ist einfach...
Einfach dort wo der Timer zu ende ist das JavaScript einfügen:

```
location.reload();
```
LG
Daniel0108


----------

