ERLEDIGT
NEIN
NEIN
ANTWORTEN
9
9
ZUGRIFFE
417
417
EMPFEHLEN
-
17.11.11 11:18 #1
- Registriert seit
- Jul 2011
- Beiträge
- 13
Hallo Freunde
ich habe bereits alle counter im Forum durchgesehen aber leider hat mir keiner weitergeholfen. Mein counter soll die Endzeit aus der DB holen und nach ablauf einen link anzeigen.
In der DB wird die Zeit z.B. 121356478 im Feld $rows->bis abgelegt.
Ich habe folgenden Counter aber bekomme die Zeit nicht rein..... Ich hoffe mir kann jemand bei meinem Counter Helfen.
PHP-Code:$query = "SELECT * FROM #__reloads" .
"WHERE id = 'counter' and bis >= '".time()."'";
$db->setQuery( $query );
$rows = $db->loadobject();
<span id="countDownText">0</span>PHP-Code:
<script language="JavaScript">
<!--
var countDownInterval=<?php echo $rows->bis ; ?>;
var countDownTime=countDownInterval;
function countDown()
{
--countDownTime;
if (countDownTime < 0)
{
document.getElementById('countDownText').innerHTML = '<a href="http://www.google.de" target="_top">linkname</a>'
}
if (countDownTime = 0)
{
document.getElementById('countDownText').innerHTML = '<a href="http://www.google.de" target="_top">linkname</a>'
}
if (countDownTime > 0) {
document.getElementById('countDownText').innerHTML = countDownTime;
}
setTimeout("countDown()", 1000);
if (countDownTime == 0)
{
document.getElementById('countDownText').innerHTML = '<a href="http://www.google.de" target="_top">linkname</a>'
}
}
// -->
</script>
PHP-Code:<script language="JavaScript">
<!--
setTimeout("countDown()", 1000);
// -->
</script>
-
17.11.11 11:47 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Kann es daran liegen das der Code für die Abfrage der Datenbank erst nach den JavaScript steht?
Dann ist "$row->bis" ja noch gar nicht vorhanden und kann deshalb auch nicht eingefügt werden.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
17.11.11 14:05 #3
- Registriert seit
- Jul 2011
- Beiträge
- 13
nein... es steht genau so da
db
counter
-
17.11.11 14:18 #4
Schon getestet was in
steht?PHP-Code:var_dump($rows->bis);
Die Schweine von heute sind unsere Schnitzel von morgen!
-
17.11.11 14:28 #5
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Was steht wo?es steht genau so da
Wenn es genau so da stehen würde, würde es bedeuten das "genau" das da steht was da stehen soll, nämlich die Zeit.
Aber ich vermute mal das das hier der Fehler ist:
Code javascript:1
if (countDownTime = 0)
Du prüfst nicht auf die Zahl 0 sondern du übergibst ihn der Variablen!Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
17.11.11 14:55 #6
- Registriert seit
- Jul 2011
- Beiträge
- 13
und was soll da dann hin?
bei var_dump($rows->bis); steht NULL
-
17.11.11 14:59 #7Die Schweine von heute sind unsere Schnitzel von morgen!
-
17.11.11 15:26 #8
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Also wenn var_dump den Wert NULL liefert, dann steht ja doch nicht alles so da wie es soll.
Ein echo $query ergibt folgende Anweisung:
Code sql:1
SELECT * FROM #__reloadsWHERE id = 'counter' AND bis >= '1321539836'
Da ist zwischen dem Tabellennamen und WHERE kein Leerzeichen. Somit wird die Anweisung auch nicht korrekt ausgeführt.
Scheint also mehr als nur 1 Fehler zu sein.Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
17.11.11 15:39 #9
- Registriert seit
- Jul 2011
- Beiträge
- 13
ist nur hier entstandenCode sql:1
SELECT * FROM #__reloadsWHERE id = 'counter' AND bis >= '1321539836'
Aber wenn ich <?php echo round((($rows['bis'] - time())/60),0) ?>
eingebe zeigt er mir
-22025678
-
17.11.11 15:41 #10
Dann stimmt was an deiner DB-Klasse nicht, denn du lädst ja laut Funktion ein Object "loadobject()" und kein Array.
Dann sollte es doch mit $rows['bis] funktionieren, oder?Die Schweine von heute sind unsere Schnitzel von morgen!
Ähnliche Themen
-
Aktion nach Ablauf des Countdowns
Von Frank73 im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 23.08.11, 10:18 -
Countdown über eine Woche mit anschliessender Aktion
Von rvlvr im Forum Javascript & AjaxAntworten: 8Letzter Beitrag: 09.06.11, 23:25 -
Counter nach Ablauf Aktion auslösen
Von intercorni im Forum Flash PlattformAntworten: 2Letzter Beitrag: 05.06.08, 15:49 -
Nach Ablauf der Zeit
Von jatop im Forum PHPAntworten: 8Letzter Beitrag: 17.04.06, 10:41 -
nach 20sec. aktion ausführen -> countdown anzeigen
Von anakari im Forum Visual Basic 6.0Antworten: 13Letzter Beitrag: 03.01.03, 09:30





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren