Wichtige Informationen zum Support!

Einen Countdown auf einer Seite einfügen

Um einen Countdown auf einer Seite einzufügen der die Tage bis zu einem bestimmten Ereignis zählt, wird ein Stückchen php Code benötigt, der an der gewünschten Stelle ausgeführt wird.

Da es nicht möglich ist innerhalb eines WYSIWYG Abschnitt Programmcode auszuführen, fügen Sie an der gewünschten Stelle einen neuen Abschnitt vom Typ Code ein. 

Angenommen, sie möchten die Tage bis Weihnachten zählen, dann sieht der Code, den Sie einfügen so aus:


$heute = time();
$tagX = mktime(date('G'), date('i'), 0, 12, 24, date('Y'));
echo '<p style="padding:20px;text-align:center;font-weight:bold;font-size:20pt;color:#990000;">'.
  Noch '. round(($tagX-$heute) / (3600*24), 0). ' Tage bis Weihnachten!</p>';  

Das Ergebnis sieht dann so aus:

Noch 323 Tage bis Weihnachten!

Alles was Sie tun müssen, ist bei mktime(date('G'), date('i'), 0, 12, 24, 2008) das Datum anzupassen, die Reihenfolge ist Stunde, Minute, Sekunde, Monat, Tag, Jahr und die Ausgabe durch echo nach Ihren Vorstellungen zu gestalten.

WebsiteBaker Tipps & Tricks bei TwitterIm Beispiel werden date('G') und date('i') verwendet um beim Zieldatum die aktuelle Stunde und Minute einzutragen - durch diese Vorgehensweise werden Rundungsfehler vermieden (Vielen Dank für den Hinweis durch Steve - siehe Feedback am Ende dieser Seite).

Natürlich läßt sich diese Funktion auch verwenden um die Stunden oder Minuten bis zu einem Ereignis anzugeben, dazu geben Sie bei mktime() die Stunde und Minute ein, zu dem das Ereignis stattfindet, z.B.: Bescherung um 18:15 Uhr = mktime(18, 15, 0, 12, 24, 2008) und passen bei der Ausgabe die Berechnung der Differenz an, in diesem Fall statt round(($tagX-$heute) / (3600*24),0) für die Berechnung der Tage round(($tagX-$heute) / 3600, 0) um die Minuten zu berechnen:


$heute = time();
$tagX = mktime(18, 15, 0, 12, 24, date('Y'));
echo '<p style="padding:20px;text-align:center;font-weight:bold;font-size:20pt;color:#990000;">
  Noch '. round(($tagX-$heute)/3600, 0). ' Stunden bis zur Bescherung!</p>';  

Das Ergebnis sind die Stunden bis zur Bescherung:

Noch 7749 Stunden bis zur Bescherung!

Um die Minuten bis zu einem Ereignis zu berechnen verwenden Sie round(($tagX-$heute) / 600, 0).

For use with Website BakerEtwas gewöhnungsdürftig ist vielleicht die Aufteilung der Seite in mehrere Abschnitte. Diese Seite besteht aus 6 Abschnitten: WYSIWYG, CODE, WYSIWYG, CODE, WYSWYG, FEEDBACK.

Bitte helfen Sie mit diesen Artikel zu verbessern,

Vielen Dank!

Ralf Hertsch

Ralf Hertsch, 29.08.2009

Kommentare

20.10.2010

Iradj

Hallo Ralf,

in Code vom " Noch xx Tage..." steht am Ende der dritte Zeile " '. " . Das ist zu viel muss Du löschen.

Grüße

05.12.2008

Luca

Frage
Hey ich find des Teil große Klasse. Nur wollte ich, und ich bin nicht wirklich begabt in solchen Sachen, für unsere Abipage einen Countdown machen der in Tagen Stunden Minuten und Sekunden abläuft also quasie wie eine Uhr... und sich dabei bewegt also nicht still steht, wie es bei dem bisherigen Modell von euch der Fall ist. Unser Abi ist am 26. März 2009 und beginnt um 8 Uhr. Hast du eine Idee wie ich das machen kann?? Würde mich über eine Antwort per Mail o.a. freuen. Liebe Grüße Luca

02.11.2008

Freudenreich Martin aka mr-fan

Hi Ralf Deine Manufaktur ist klasse
hier mal ein Link wo ich deinen code für die nächsten tage umgesetz habe! kannst ja mal schauen... www.mr-vilsbiburg.de wird meine erste seite... (ALLE WB CODER MACHEN SPITZENMAESIGE ARBEIT!;) mfg martin

17.10.2008

Steve

Problem: Zähler stimmt erst nach 12 Uhr mittags..
Hallo Ralf, zunächst mal coole Idee mit dem Countdown, einfach und doch genial... Mir ist aufgefallen, dass der Zählstand erst nach 12 Uhr ríchtig angezeigt wird. Das hängt wohl mit dem gerundeten Ergebnis zusammen. Habe den Code folgendermaßen abgeändert: $heute_std = date("G"); $heute_min = date("i"); $heute = mktime(); $tagX = mktime($heute_std,$heute_min,0,10,27,2008); echo "Noch ".round(($tagX-$heute) / (3600*24),0). " Tage bis zu den Herbstferien (27.10 - 31.10.2008)"; Mit dieser Änderung werden die Tage korrekt angezeigt. Hoffe ich konnte weiterhelfen. Grüsse Steve