anpera.net
https://anpera.homeip.net/phpbb3/

Countdown
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=2304
Seite 1 von 2

Autor:  Lazalantin [ Di 28 Feb, 2006 17:45 ]
Betreff des Beitrags:  Countdown

Also wie der Titel schon sagt, würde ich gerne so etwas wie einen Echtzeit - Countdown auf die Basis von einer DB machen, wenn sowas überhaupt möglich ist. Ich meine damit, man trägt in eine Datenbank die Zeit ein, also die wird jetzt durch das Script berechnet, bsp. 5 Mins. und 30 Sek. Dieser Wert wird dann in die Datenbank eingetragen und runtergezählt bis die Sek. schließlich auf 0 sind, ebenso wie die Min, Std, und vllt auch Tage. Und dann soll ein Link erscheinen zu einer Seite.

Könnte mir vielleicht einer dabei behilflich sein, ich hab schon mehere Std gegoogelt und alles, was ich gefunden hab, ist ein Countdown der bei neuem Laden der Seite immer wieder von neu anfängt und das soll er nicht >___<

:wink:

Autor:  Devilzimti [ Di 28 Feb, 2006 17:59 ]
Betreff des Beitrags: 

Hmm guck hier mal im Forum..
Da war irgendwo eins...
Das musste mit Javascript machen..
Hab mal Exclusiv für nen eigenes Rulina gemacht..
Hab das selber aber auch net, und es ist ja auch exclusiv ;)

Autor:  Lazalantin [ Di 28 Feb, 2006 18:03 ]
Betreff des Beitrags: 

Is aber nirgendswo was zu finden :?

Autor:  Lazalantin [ Di 28 Feb, 2006 18:06 ]
Betreff des Beitrags: 

Ich glaub aber gehört zu haben, dass man Countdowns auch mit PHP und auf DB-Basis machen kann. Mit Timestamp oder sowas ähnlichem. Aber ich hab davon keine Ahnung, deshalb brauch ich Hilfäää :cry:

Autor:  Devilzimti [ Di 28 Feb, 2006 18:26 ]
Betreff des Beitrags: 

Ja aber die anzeige wird dann nur beim klicken auf eine nächste Seite aktualisiert

Autor:  Garlant [ Di 28 Feb, 2006 18:32 ]
Betreff des Beitrags: 

Hallo Lazalantin(ich hoffe der Name ist richtig geschrieben :D),
schau doch mla bitte hier: http://anpera.homeip.net/forum/viewtopic.php?t=2122

Mfg Garlant

Autor:  Lazalantin [ Di 28 Feb, 2006 18:35 ]
Betreff des Beitrags: 

Jaja Name is richtig. Kannst aber auch einfach nur Laza sagen :lol:


Aber guckst du... der Counter da is nich so einer, wie ich ihn brauche. Ich möcht einfach nur, dass eine Zeit vorgegeben wird, also zb 5 Mins. Die Zeit wird in der DB gespeichert und läuft dann runter, egal ob man on ist oder nicht.

Autor:  Garlant [ Di 28 Feb, 2006 18:58 ]
Betreff des Beitrags: 

machen lässt es sich sicherlich, leider fällt mir dazu aber nicht der passende Lösungsweg ein.
Ein paar Ansätze habe ich dazu ja im kopf XD

Autor:  Auric [ Di 28 Feb, 2006 19:02 ]
Betreff des Beitrags: 

Ich würde mal sagen:

Per PHP Zeita aus der Datenbank abfragen
|
In JS übergeben
|
Mit JS Counter Starten

Autor:  Lazalantin [ Mi 01 Mär, 2006 14:30 ]
Betreff des Beitrags: 

Ja ja schon klar, dasses so sicher am besten geht :D

Ich weiß nur nicht, wie ich das umsetzen kann, sonst würd ich ja hier nich fragen... kann mir dabei nich einer helfen? :wink:

Autor:  Kakerlake [ Mi 01 Mär, 2006 20:57 ]
Betreff des Beitrags: 

... einfach ne neue spalte in der usertabelle, dort die startzeit reinschreiben und einfach in der common.php ne abfrage einbauen ob der unterschied ziwschen der gespeicherten zeit und der aktuellen den geünschten wert überschreitet

Autor:  Kevz [ Mi 01 Mär, 2006 22:28 ]
Betreff des Beitrags: 

Noch einfacher...
Lege die Startzeit fest, Rechne diese Minus die jetztige zeit und dann plus die dauer. So einfach bekommst die restliche Zeit raus, sollte recht einfach darzustellen sein. Mach es als Timestamp, denn so wird es als Sekunden gerechnet. Und dir fällt das umrechnen auf Stunden, Minuten & Sekunden einfacher.

Autor:  Lazalantin [ Do 02 Mär, 2006 17:56 ]
Betreff des Beitrags: 

Wie ich das ungefähr zu machen habe, wusst ich doch auch vorher schon ungefähr so...

Aber wie das zu realisieren ist mit dem Timestamp.... das weiß ich nicht, deshalb frag ich ja :cry:

Autor:  Kevz [ Do 02 Mär, 2006 18:14 ]
Betreff des Beitrags: 

Aaaaaalso (vorkauen auch noch):
[php]$start = 1141319517; // 18:11 Uhr (Heute) ~ Startzeit, in Timestamp format
$sec = 600; // 10min
$end = $start - time() + $sec;

echo 'Noch'.$end.($end > 1 ? ' Sekunden' : ' Sekunde').'bis zur Fertigstellung!';[/php]


Kann nicht garantieren das es funktioniert! Ist jetzt nur so ausm Kopf..

Autor:  Auric [ Do 02 Mär, 2006 18:27 ]
Betreff des Beitrags: 

Nicht ganz^^
[php]echo 'Noch'.$end.($end != 1 ? ' Sekunden' : ' Sekunde').'bis zur Fertigstellung!';[/php]

So wird nur bei 1 "Sekunde" geschrieben, bei dir würde dies nur bei 0 und eben auch nichtz bei 1 geschehen.

Wahrscheinlich hilft ihm das jetzt aber auch nix, weil er noch den JS part braucht^^

zumindest ist so schon mal ein 1mal-pro-aktualisierung-counter geschaffen
[/php]

Autor:  Meteora [ Do 02 Mär, 2006 19:15 ]
Betreff des Beitrags: 

$this->bbcode_second_pass_code('', '
<script type='text/javascript'>
<!-- JS Ticker by Hadriel //-->
<!-- Code part //-->

var ctdwn = 10; <!-- 10 sec timer //-->
function count_down(){
ctdwn--;
if(ctdwn>0){
document.writeln('Noch ' + ctdwn + ' Sekunden');
window.setTimeout('count_down()',1000);
}else{
document.writeln('Countdown abgelaufen!');
}
}
</script>
<!-- Aufruf //-->
<body onLoad='count_down();'>
')

UNGETESTET!

Autor:  Kevz [ Do 02 Mär, 2006 19:28 ]
Betreff des Beitrags: 

Hatte damals einen...
Bin grad dabei einen zu Basteln, da meine Kenntnisse in dingen JS, nicht gerade die Besten sind versuche ich es trotzdem mal ^^ Werd dann Posten wenn er fertig ist bzw. ob ich es noch hinkriege.

€dit:
Hadriel war schneller :pein:

Autor:  Devilzimti [ Fr 03 Mär, 2006 01:00 ]
Betreff des Beitrags: 

So wird das nicht laufen
Das Timeout muss aus der Funktion raus und außerdemzählt das huier nur die Sekunden runter und das sogar wenn ich richtig sehe immer wieder also hat man als Ausgabe::

Noch 5 Sekunden
Noch 4 Sekunden
Noch 3 Sekunden
Noch 2 Sekunden
Noch 1 Sekunden
Fertig bla

Ich habs mit <span> und innerhtml gemacht *g*

Ok..
Ihr bekommt meinen *g* Sorry @ Ammer sollte ja eigentlich exclusiv bleiben.. Aber man muss es ja auch noch richtig in LOGD inplementieren *grins*



$this->bbcode_second_pass_code('', ' wird ja nicht gebraucht :) Wers will kann sich per PM melden :)')

Das ergibt sowas:

2h, 57m, 06s
und Minuten und Sekunden sind immer 2 stellig (deswegen soviel code^^)

Aja man braucht nich ein <span id="nextdaycountdown">Startzeit</span>

Autor:  Meteora [ Fr 03 Mär, 2006 13:06 ]
Betreff des Beitrags: 

Nur funktioniert das nicht auf Linux Systemen (glaube ich, oder ich bin falsch informiert) :)

ne alternative zu meinem:
$this->bbcode_second_pass_code('', '
<script type='text/javascript'>
<!-- JS Ticker by Hadriel //-->
<!-- Code part //-->

function count_down(seconds){
seconds--;
if(seconds>0){
document.all.a.innerText = 'Noch ' + seconds + ' Sekunden';
window.setTimeout('count_down()',1000);
}else{
document.all.a.innerText = 'Countdown abgelaufen!';
}
}
</script>
<!-- Aufruf //-->
<body onLoad='count_down(10);'>
<span id='a'>Count</span>
')
und das mit deiner aussage zu setTimeout stimmt NICHT ;)

Autor:  Devilzimti [ Fr 03 Mär, 2006 14:49 ]
Betreff des Beitrags: 

Das hat mit dem Betriebssystem garnix zu tun, da der Browser das implementiert.
Und wie jeder weiß, ist zb. Firefox auf jeder Linux Distri genau gleich wie auf Windows..

Und das mit dem Timeout sollte schon falsch sein bei dir..
Mit ein bisschen mitdenken, kommt man auch drauf wieso :P

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/