• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Countdown

befubo

Mitglied
hi leute, ich bins mal wieder ^^

Mal ne Frage:
Ich suche schon seit geraumer Zeit nach einem Weg für mein Problem, Google hat mir noch nicht das ausgespuckt, was ich suche:

Ich brauche einen Java counter, der aber mit PHP Daten gefüttert wird. Jetzt, dazu finde ich eine Menge Artikel im Web. Aber wie ich das genau mit einer MySQL Datenbank anstelle... Keine Ahnung?

Ich währe sehr froh, wenn mir jemand ein koplettes Tutorial dafür geben könnte / verweisen könnte.
Ich habe folgende Angaben:

- $attende (Ziel des Countdowns im Timestampformat; also sekunden)
- $time (aktuelle Zeit)

Wie kann ich da jetzt nen counter draus machen?
Ich bitte hier nicht um ein vollständiges Script sondern eine Step by Step erläuterung damit ich es auch verstehen kann.

Thx und mfg
befubo
 
Werbung:
Bist du sicher, dass du Java meinst und nicht JavaScript? Denn ein Java-Applet wäre wohl etwas übertrieben.

Also gehe ich mal von JavaScript aus. Wenn die Daten aus einer Datenbank kommen und dynamisch auf der Webseite angezeigt werden sollen, kommt wohl fast nur AJAX in Frage. Wie das funktioniert kannst du sicher hier im Forum finden, sonst bietet Google auch jede menge Treffer.

Dein Counter wäre dann nichts weiter, als ein ständiges Überprüfen der Zielzeit und das subtrahieren der aktuellen Zeit.

Soweit zur Theorie, für die Praxis ist es mir jetzt zu spät, aber du hast ja auch erstmal was zum Suchen und Probieren.
 
hi und erstmal danke

Hmm, ajax. ich habe mich mal n bissl schlau gemacht, aber iwie komm ich damit nicht wirklich zurecht. is wieder was ganz neues iwie. Ist das die einzige Lösung oder gibts auch noch etwas simpleres?

thx und mfg
befubo
 
Werbung:
Wenn du einen dynamischen Countdown haben willst, also einen, der sich aktuallisert, ohne die Seite neu laden zu müssen und die Daten aus einer Datenbank kommen, wirst du um AJAX nicht herum kommen. Wenn es dir genügt, dass sich der Countdown nur bei jedem laden der Seite aktuallisiert, reicht PHP.
 
Warum sollte man Ajax benötigen für einen Countdown? Oo

Man gibt einfach lässt sich in PHP nur die Anzahl Sekunden berechnen, bis zum Countdownende.

Code:
<script type="text/javascript" language="JavaScript">
<!--
var restzeit = <?php echo $restzeit_in_sek; ?>;
var das_interval;
window.onload = function() {
  runterzaehlen();
  das_interval = setInterval("runterzaehlen()",1000);
}
function runterzaehlen() {
  var stunden = 0;
  var minuten = 0;
  var sekunden = 0;
  if (restzeit == 0) {
    clearInterval(das_interval);
    funktion_die_auszufuehren_ist_wenn_null_erreicht_ist();
  }
  var arbeitszeit = restzeit;
  if (arbeitszeit > 3600) {
    var stunden = Math.floor(arbeitszeit/3600);
  }
  while(arbeitszeit>3600) {
    arbeitszeit-= 3600;
  }
  if (arbeitszeit > 60) {
    var minuten = Math.floor(arbeitszeit/60);
  }
  while (arbeitszeit>60) {
    arbeitszeit-= 60;
  }
  sekunden = arbeitszeit;
  document.getElementById("zeit").innerHTML = stunden+":"+minuten+":"+sekunden;
}
function funktion_die_auszufuehren_ist_wenn_null_erreicht_ist(){}
//-->
</script>
<div id="zeit"><?php echo $formatierte_restzeit_falls_js_nicht_aktiv; ?></div>
Ungetestet
 
@Asterixus

hmm, das funzt iwie net:

Code:
<script type="text/javascript" language="JavaScript">
<!--
var restzeit = 55;
var das_interval;
window.onload = function() {
  runterzaehlen();
  das_interval = setInterval("runterzaehlen()",1000);
}
function runterzaehlen() {
  var stunden = 0;
  var minuten = 0;
  var sekunden = 0;
  if (restzeit == 0) {
    clearInterval(das_interval);
    funktion_die_auszufuehren_ist_wenn_null_erreicht_ist();
  }
  var arbeitszeit = restzeit;
  if (arbeitszeit > 3600) {
    var stunden = Math.floor(arbeitszeit/3600);
  }
  while(arbeitszeit>3600) {
    arbeitszeit-= 3600;
  }
  if (arbeitszeit > 60) {
    var minuten = Math.floor(arbeitszeit/60);
  }
  while (arbeitszeit>60) {
    arbeitszeit-= 60;
  }
  sekunden = arbeitszeit;
  document.getElementById("zeit").innerHTML = stunden+":"+minuten+":"+sekunden;
}
function funktion_die_auszufuehren_ist_wenn_null_erreicht_ist(){}
//-->
</script>

<div id="zeit">
<?php
 echo $formatierte_restzeit_falls_js_nicht_aktiv; 
?>
</div>

wenn ich dass so einfüge, wird einfach 0:0:55 anusgegeben. wenn ich es markiere, verschwindet die markierung wieder nach ner sekunde. also es zählt schon, aber er gibt immer nur die 55 sek aus. was muss ich da noch ändern? thx
 
Werbung:
Sorry, stimmt ^^

Code:
<script type="text/javascript" language="JavaScript">
<!--
var restzeit = 61;
var das_interval;
window.onload = function() {
  runterzaehlen();
  das_interval = setInterval("runterzaehlen()",1000);
}
function runterzaehlen() {
  var stunden = 0;
  var minuten = 0;
  var sekunden = 0;
  if (restzeit == 0) {
    clearInterval(das_interval);
    funktion_die_auszufuehren_ist_wenn_null_erreicht_ist();
  }
  var arbeitszeit = restzeit;
  if (arbeitszeit >= 3600) {
    var stunden = Math.floor(arbeitszeit/3600);
  }
  while(arbeitszeit>=3600) {
    arbeitszeit-= 3600;
  }
  if (arbeitszeit >=60) {
    var minuten = Math.floor(arbeitszeit/60);
  }
  while (arbeitszeit>=60) {
    arbeitszeit-= 60;
  }
  sekunden = arbeitszeit;
  document.getElementById("zeit").innerHTML = stunden+":"+minuten+":"+sekunden;
  restzeit--;
}
function funktion_die_auszufuehren_ist_wenn_null_erreicht_ist(){}
//-->
</script>

<div id="zeit">

</div>
 
HEY; dank dir vielmals, klappt Perfekt ;) Manno, hab ich schon lange nach dieser Lösung gesucht, du bist mein retter ^^

jetzt nur noch ne kleine zusatzfrage:
Wie kann ich die Ausgabefarbe ansprechen? ich hab auf meiner Seite alles in Weiss geschrieben, aber der counter gibt schwarze zahlen aus...

thx und mfg
befubo
 
Werbung:
Zurück
Oben