Countdownscript + Zufallszahl

Fragen zum Thema HTML, JavaScript, PHP
Antworten
wanted
Beiträge: 5
Registriert: Mi Mär 17, 2010 4:07 pm

Countdownscript + Zufallszahl

Beitrag von wanted » Mi Mär 17, 2010 4:12 pm

[QUOTE=wanted;1384135]Liebe Community,

Ich habe ein Problem! :)
Ich möchte etwas realisieren und weiß einfach nicht wie ich es umsetzen kann.

Ich möchte einen Text haben der folgendes ausgibt:

Die heutige Zahl lautet: 1246
Neue Nummer in: 23 Stunden, 5 Minuten und 34 Sekunden

Nun ich habe den Counter einmal erstellt. Der Counter läuft momentan so lange bis das Datum welches ich eingebe erreicht wird.

Hier ist mein momentaner Counter:

Code: Alles auswählen

<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-12724710-2");
pageTracker._trackPageview();
} catch(err) {}</script>

<script language="JavaScript">
	var jahr=2010, monat=3, tag=19, stunde=13, minute=30, sekunde=00; // Ziel-Datum in MEZ
	var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

	function countdown() {
		startDatum=new Date(); // Aktuelles Datum

		// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
		if(startDatum<zielDatum)  {

			var stunden=0, minuten=0, sekunden=0;

			// Stunden
			stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
			startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

			// Minuten
			minuten=Math.floor((zielDatum-startDatum)/(60*1000));
			startDatum.setTime(startDatum.getTime()+minuten*60*1000);

			// Sekunden
			sekunden=Math.floor((zielDatum-startDatum)/1000);

			// Anzeige formatieren
			(stunden!=1)?stunden=stunden+" hours,  ":stunden=stunden+" hour,  ";
			(minuten!=1)?minuten=minuten+" minutes  and  ":minuten=minuten+" minute  and  ";
			if(sekunden<10) sekunden="0"+sekunden;
			(sekunden!=1)?sekunden=sekunden+" seconds":sekunden=sekunden+" second";

			document.countdownform.countdowninput.value=stunden+minuten+sekunden;

			setTimeout('countdown()',200);
		}
		// Anderenfalls alles auf Null setzen
		else document.countdownform.countdowninput.value="0 Stunden,  0 Minuten  und  00 Sekunden";
	}
</script>
Was ich jetzt möchte ist folgendes:

1) Der Counter soll nicht bei einem bestimmten Datum enden, sondern der Counter soll wenn er abgelaufen ist von vorne wieder beginnen.

2) Wenn der Counter auf 0 Stunden 0 Minuten und 0 Sekunden abgelaufen ist, dann soll bei "Die heutige Zahl lautet" eine Zufallszahl geschrieben werden.

Sprich der Counter zählt 24 Stunden hinunter, dann gibt er eine Zufallszahl aus und dann zählt er wieder 24 Stunden hinunter, dann wieder eine Zufallszahl und zählt wieder den Counter herunter usw.

Ist sowas möglich? Wenn ja muss ich meinen Counter dazu einfach umändern? Wenn ja wie?

Ich hoffe mir kann jemand von euch behilflich sein!

Vielen dank!

Liebe Grüße,
Christoph[/QUOTE]

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Countdownscript + Zufallszahl

Beitrag von Kerli » Mi Mär 17, 2010 5:06 pm

Zuerst einmal, Willkommen bei uns :)

Ich hab das Thema jetzt einmal verschoben. Javascript hat nämlich bis auf den Beginn des Namens nichts mit Java zu tun...
wanted hat geschrieben:1) Der Counter soll nicht bei einem bestimmten Datum enden, sondern der Counter soll wenn er abgelaufen ist von vorne wieder beginnen.
Du setzt einfach 'zielDatum' auf das nächste Datum. zb. Aktuelles Datum + 1 Tag, oder du hast irgendwo ein Liste davon.
wanted hat geschrieben:Sprich der Counter zählt 24 Stunden hinunter, dann gibt er eine Zufallszahl aus und dann zählt er wieder 24 Stunden hinunter, dann wieder eine Zufallszahl und zählt wieder den Counter herunter usw.
Die Frage ist, wer hat seinen Browser so lang in einem durch aktiv? Du musst zumindest die Zufallszahl irgendwo zwischenspeichern. Entweder mit Cookies oder falls die Zahl für alle Benutzer gleich sein soll mit PHP.

Könnte es eigentlich sein, dass der Code von hier stammt? :P
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)

OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at

Benutzeravatar
Dubbel
Beiträge: 197
Registriert: So Jul 06, 2008 6:25 pm
Wohnort: Kopenhagen
Kontaktdaten:

Re: Countdownscript + Zufallszahl

Beitrag von Dubbel » Mi Mär 17, 2010 5:19 pm

Ja, wie Kerli es schon angedeutet hat: Javascript kann Daten nur in Cookies zwischenspeichern. Wenn jemand anderes die Seite aufrufen würde, würde er eine andere Zufallszahl sehen, als ein anderer, da die Zufallszahl von der Zeit in Millisekunden "ausgerechnet" wird.

d.h. du kannst nur mit Javascript nicht für alle eine gleiche Zufallszahl ausgeben, dazu bräuchtest du PHP, und einen Server, der PHP interpretieren kann (oder eine vergleichbare Sprache wie Python oder Perl, aber PHP ist am verbreitesten). :)

wanted
Beiträge: 5
Registriert: Mi Mär 17, 2010 4:07 pm

Re: Countdownscript + Zufallszahl

Beitrag von wanted » Mi Mär 17, 2010 6:27 pm

Hallo,

Vielen dank für eure Antwort!
@Kerli: Ja du hast recht bezüglich der Quelle des Scripts! Das Script habe ich lediglich ein wenig an meine Wünsche angepasst.

1) Das bedeutet ich könnte meinen aktuellen Javacode nehmen, ein wenig am Datum herumspielen und jedes mal wenn die 24 Stunden abgelaufen sind beginnt das Script von vorne? Leider habe ich wenig Ahnung von Java! Wie müsste der Codeteil wo ich momentan das Zieldatum eingeben muss denn aussehen?

2) Ist es möglich wenn ich per Zufall Zahlen in eine DB einfüge und alle 24 Stunden eine andere Zahl ausgeben lasse?

Liebe Grüße,
Christoph

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3123
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Countdownscript + Zufallszahl

Beitrag von cloidnerux » Mi Mär 17, 2010 6:32 pm

eider habe ich wenig Ahnung von Java!
Es ist Javascript, nicht Java.
Das bedeutet ich könnte meinen aktuellen Javacode nehmen, ein wenig am Datum herumspielen und jedes mal wenn die 24 Stunden abgelaufen sind beginnt das Script von vorne?
Nein, es bedeutet einfach, das wenn ein User 24 Stunden auf dieser einen Seite ist, irgendwas passiert.
Ist es möglich wenn ich per Zufall Zahlen in eine DB einfüge und alle 24 Stunden eine andere Zahl ausgeben lasse?
Ja aber nur mit PHP.
Redundanz macht wiederholen unnötig.
quod erat expectandum

wanted
Beiträge: 5
Registriert: Mi Mär 17, 2010 4:07 pm

Re: Countdownscript + Zufallszahl

Beitrag von wanted » Mi Mär 17, 2010 6:41 pm

cloidnerux hat geschrieben: Nein, es bedeutet einfach, das wenn ein User 24 Stunden auf dieser einen Seite ist, irgendwas passiert.
1)Hmm...wieso muss der User 24 Stunden auf dieser Seite sein?
Wenn ich um 12 Uhr Mittags die Webseite besuche und es steht 13 Stunden 12 Minuten und 11 Sekunden und ich komme um 18 Uhr am Abend wieder und besuche die Seite dann steht 7 Stunden 12 Minuten und 11 Sekunden! Der Counter zählt ja weiter auch wenn ich nicht auf der Webseite bin!

Sobald der Counter bei 0 Stunden, 0 Minuten und 11 Sekunden angelangt ist, möchte ich haben, dass er 5-10 Sekunden später automatisch wieder bei 24 Stunden 0 Minuten und 0 Sekunden anfängt hinunter zu zählen!

Das muss doch irgendwie klappen? Wenn jemand weiß wie würde ich mich wahnsinnig freuen wenn mir derjenige helfen könnte!
cloidnerux hat geschrieben: Ja aber nur mit PHP
Ist kein Problem..ich weiß wie ich mithilfe von PHP etwas in eine DB hinzufügen kann und ich weiß wie ich etwas von einer DB auslesen kann! Was ich nicht weiß ist, wie ich es einstellen kann, dass automatisch alle 24 Stunden ein anderer Datenbanksatz ausgelesen wird!

Lg

Benutzeravatar
Dubbel
Beiträge: 197
Registriert: So Jul 06, 2008 6:25 pm
Wohnort: Kopenhagen
Kontaktdaten:

Re: Countdownscript + Zufallszahl

Beitrag von Dubbel » Mi Mär 17, 2010 6:51 pm

Ich würde es so machen:
Zuerst überprüft das PHP-Skript, ob ein Datensatz für den heutigen Tag vorhanden ist. Wenn ja, dann gibt es ihn aus, wenn nein, dann legt es einen mit einer Zufallszahl an, und gibt ihn dann aus.

Die Tabelle:
id | date_day | rand_number

date und rand sind glaube ich reservierte Begriffe, wenn du deine Spalten so nennen willst, musst du sie in der Abfrage mit ` kennzeichnen. Deshalb habe ich oben jeweils noch ein Wort drangehängt ;)

wanted
Beiträge: 5
Registriert: Mi Mär 17, 2010 4:07 pm

Re: Countdownscript + Zufallszahl

Beitrag von wanted » Mi Mär 17, 2010 6:59 pm

Code: Alles auswählen

Ich würde es so machen:
Zuerst überprüft das PHP-Skript, ob ein Datensatz für den heutigen Tag vorhanden ist. Wenn ja, dann gibt es ihn aus, wenn nein, dann legt es einen mit einer Zufallszahl an, und gibt ihn dann aus.
Hmm..so ein Abfrage Skript gibt es nicht zufällig irgendwo zum downloaden oder? Ich weiß zwar wie du es dir vorstellst, aber ich kann das nicht umsetzen!
Und wann überprüft das Skript ob ein Datensatz für den heutigen Tag vorhanden ist? Kann man das ebenfalls im Skript bestimmen?

Lg

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Countdownscript + Zufallszahl

Beitrag von Xin » Mi Mär 17, 2010 7:32 pm

wanted hat geschrieben:Wenn ich um 12 Uhr Mittags die Webseite besuche und es steht 13 Stunden 12 Minuten und 11 Sekunden und ich komme um 18 Uhr am Abend wieder und besuche die Seite dann steht 7 Stunden 12 Minuten und 11 Sekunden! Der Counter zählt ja weiter auch wenn ich nicht auf der Webseite bin!
Bei der Implementierung stelle ich einfach die Zeit vor und dann passt das ;-)
wanted hat geschrieben:Das muss doch irgendwie klappen? Wenn jemand weiß wie würde ich mich wahnsinnig freuen wenn mir derjenige helfen könnte!
Javascriptprogramme laufen im Browser ab, nicht auf dem Server. Der bekommt davon nichts mit. Sobald Du die Seite verlässt wird das Programm beendet und alle ungespeicherten Daten gehen verloren. Also auch die Information, wie lange der Counter schon lief.

Du musst also beim anfordern der Seite den Startwert mitliefern und dafür musst Du dem Server sagen, wer Du bist, damit er Dir Deinen Startwert zuschicken kannst, ab dem JavaScript dann runterzählen kann.
wanted hat geschrieben:Ist kein Problem..ich weiß wie ich mithilfe von PHP etwas in eine DB hinzufügen kann und ich weiß wie ich etwas von einer DB auslesen kann! Was ich nicht weiß ist, wie ich es einstellen kann, dass automatisch alle 24 Stunden ein anderer Datenbanksatz ausgelesen wird!
Du guckst auf die Uhr und entscheidest daran, welcher Datensatz gelesen wird?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten