Verfasst: 01.11.2008 09:13
Ich glaube wir reden aktuell über das falsche JS.
Ich poste mal noch mal den ganzen Code.
Das ist der gesamte Code, für mein Counter JS.
Das Auslesen der DB habe ich mal vernachlässigt und den Timestamp gleich in die $timestamp gepackt.
Dann habe ich folgenden Code in die index.php gepackt.
Und in die overall_header.tpl habe ich dann das komplette JS gepackt.
Mein Problem an der Sache ist nun, das der Counter nur dann funktioniert, wenn ich mich auf der index.php befinde, jedoch auf allen anderen Seiten nicht. Deswegen wollte ich nun den oberen Teil in die function.php packen, da er ja dann auf allen Seiten verfügbar ist.
Nun weiß ich aber nicht, wie ich das anstellen soll.
Als erstes hatte ich in dem JS die Zeile von:
nach
geändert und in der functions.php, dafür folgende Zeile eingefügt.
Denke soweit funzt das auch alles, nur wie bekomme ich nun in die
diese Informationen
Denke wenn ich das Problem löse, dann sollte es funzen.
Ich werde heute mal noch die SQL Abfrage in die functions.php einbauen und dann als letztes die definition für {timestampcounter} evtl. habe ich ja so mehr Glück. Bitte jetzt nicht Steinigen
Ich poste mal noch mal den ganzen Code.
Code: Alles auswählen
<html>
<head>
<?php
// Lese letzten Scan aus
$sql = "SELECT Datum
FROM ".SCANLOGS."
ORDER BY Datum DESC;";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
// nur den ersten (also letzten Eintrag) auslesen
$date = $row['Datum'];
$ZeitE = getNextScan($date);
$timestamp = ($ZeitE);
$testausgabe = date("F, j Y H:i:s",$timestamp);
?>
<script language="JavaScript">
var end = new Date("<?PHP echo $testausgabe; ?>");
function toSt2(n) {
s = "";
if (n < 10) s += "0";
return (s + n).toString();
}
function toSt3(n) {
s = "";
if (n < 10) s += "00";
else if (n < 100) s += "0";
return (s + n).toString();
}
function countdown() {
d = new Date();
count = Math.floor(end.getTime() - d.getTime());
if(count > 0) {
miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
seconds = toSt2(count%60); count = Math.floor(count/60);
minutes = toSt2(count%60); count = Math.floor(count/60);
hours = toSt2(count%24); count = Math.floor(count/24);
days = count;
document.getElementById("c1").innerHTML = hours + ":" + minutes + ":" + seconds
setTimeout("countdown()", 50);
}
else
{
document.getElementById("c1").style.color = "#00FF00";
document.getElementById("c1").innerHTML = "00:00:00";
document.getElementById("c1").innerHTML = "jetzt";
}
}
window.onload = function(){
countdown();
}
</script>
</head>
</html>
Das Auslesen der DB habe ich mal vernachlässigt und den Timestamp gleich in die $timestamp gepackt.
Dann habe ich folgenden Code in die index.php gepackt.
Code: Alles auswählen
$timestamp = (1226098800);
$testausgabe = date("F, j Y H:i:s",$timestamp);
Code: Alles auswählen
<script language="JavaScript">
var end = new Date("<?PHP echo $testausgabe; ?>");
function toSt2(n) {
s = "";
if (n < 10) s += "0";
return (s + n).toString();
}
function toSt3(n) {
s = "";
if (n < 10) s += "00";
else if (n < 100) s += "0";
return (s + n).toString();
}
function countdown() {
d = new Date();
count = Math.floor(end.getTime() - d.getTime());
if(count > 0) {
miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
seconds = toSt2(count%60); count = Math.floor(count/60);
minutes = toSt2(count%60); count = Math.floor(count/60);
hours = toSt2(count%24); count = Math.floor(count/24);
days = count;
document.getElementById("c1").innerHTML = hours + ":" + minutes + ":" + seconds
setTimeout("countdown()", 50);
}
else
{
document.getElementById("c1").style.color = "#00FF00";
document.getElementById("c1").innerHTML = "00:00:00";
document.getElementById("c1").innerHTML = "jetzt";
}
}
window.onload = function(){
countdown();
}
</script>
Nun weiß ich aber nicht, wie ich das anstellen soll.
Als erstes hatte ich in dem JS die Zeile von:
Code: Alles auswählen
var end = new Date("<?PHP echo $testausgabe; ?>");
Code: Alles auswählen
var end = new Date('{timestampcounter}');;
Code: Alles auswählen
$template->assign_vars(array('timestampcounter' => $testausgabe));
Denke soweit funzt das auch alles, nur wie bekomme ich nun in die
Code: Alles auswählen
{timestampcounter}
Code: Alles auswählen
$timestamp = (1226098800);
$testausgabe = date("F, j Y H:i:s",$timestamp);
Ich werde heute mal noch die SQL Abfrage in die functions.php einbauen und dann als letztes die definition für {timestampcounter} evtl. habe ich ja so mehr Glück. Bitte jetzt nicht Steinigen
