tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
1799
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jerry0110 jerry0110 ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    30
    Ich habe da mal eine Frage.

    Ich habe mir aus den Tutorials einen Countdown rausgesucht der nach, in unserem Beispiel, 5 Sekunden etwas ausführen soll. Nur das Problem ist wenn wir innerhalb der 5 Sekunden auf F5 zum Aktualisieren drücken fängt er logischer Weise wieder bei 5 an.

    1. Soll er nicht er soll weiterlaufen und
    2. der Soll den Befehl am Ende ausführen und nicht am Anfang und
    3. wie bekommt man eine reloadsperre dort rein?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    <html>
    <head>
    <script language="javascript">
    var lngSekunden = <?php echo("5"); ?>;
    function secondCount(){
    intStunden = Math.floor(lngSekunden/(60*60));
    intStunden = (intStunden < 10) ? "0"+intStunden : intStunden;
    lngHelpSekunden = lngSekunden - intStunden*60*60;
    intMinuten = Math.floor(lngHelpSekunden/60);
    intMinuten = (intMinuten < 10) ? "0"+intMinuten : intMinuten;
    intSekunden = lngHelpSekunden - intMinuten*60;
    intSekunden = (intSekunden < 10) ? "0"+intSekunden : intSekunden;
    strZeit = intStunden + ":" + intMinuten + ":" + intSekunden;
    document.getElementById("countdownID").innerHTML = strZeit;
    lngSekunden--;
    if(lngSekunden >= 0)
        window.setTimeout("secondCount()", 1000);
    else
    <?php
    $link = mysql_connect("localhost","root","");
    mysql_select_db('tafelrunde', $link); 
    $sql="INSERT INTO `test` ( id ) VALUES ('1')";
    mysql_query($sql, $link);
    ?>;
     
    }
    </script>
    </head>
    <body onload="secondCount();">
    <div id="countdownID"></div>
    </body>
    </html>

    Danke im Vorraus
    Geändert von jerry0110 (11.04.05 um 12:16 Uhr)
     

  2. #2
    jerry0110 jerry0110 ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    30
    weiß keiner eine Antwort?
     

  3. #3
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Speichere beim onunload die aktuellen Sekunden in einem Cookie.... dann kannst du sie beim Start ausgeben.

    Was den "Befehl" angeht... welchen meinst du?
    Wenn du den mysql_query() meinst, musst du nach abgelaufener Zeit mittels JS ein PHP-Skript aufrufen, welche diese Anweisung enthält.
    Wie du das machst, ist dir überlassen...
    • Popup öffnen
    • aktuelle Seite "weiterleiten"
    • Image()-Object mit dem Skript als src erzeugen

    Ansonsten: bitte keine Themen pushen . Danke.
     

  4. #4
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Also habs mir mal durchgelesen. bei mir ist dass gleiche problem, mit dem mysql.
    da ich aber keine ahnung von javascript habe, weis ich auch nicht, wie ich damit php aufrufen soll. (ich hoffe du verstehsch was ich mein). könntest du mir das BITTE BITTE erklären?
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  5. #5
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    • window.open('skript.php');// Popup öffnen
    • window.location='skript.php';//aktuelle Seite "weiterleiten"
    • dummie = new Image();dummie.src='skript.php';//Image()-Object mit dem Skript als src erzeugen
    skript.php enthält den gewünschten Query.

    such dir etwas aus.
     

  6. #6
    Registriert seit
    Mar 2005
    Ort
    Bühl/Baden
    Beiträge
    2.330
    Hallo.
    Ich hatte das gleiche Problem wie du. Hab da noch ne andere möglichkeit gefunden, wie man das mit dem mysql_query machen kann. Ist vll nicht die beste Lösung, aber sie ist es vll wert darüber nachzudenken. Ich habe das so gemacht, da ich kein extra Fenster öffnen lassen wollte (hätte nicht gepasst ). Bin daher auf folgendes gekommen:


    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    if(lngSekunden >= 0)
        window.setTimeout("secondCount()", 1000);
    else
    <?php
    $link = mysql_connect("localhost","root","");
    mysql_select_db('tafelrunde', $link);
    $sql="INSERT INTO `test` ( id ) VALUES ('1')";
    mysql_query($sql, $link);
    ?>;
     
    }
    </script>

    Das Oben ist der Code aus dem Forum. Ersetze einfach den PHP Befehl durch

    Code :
    1
    
        document.location.href="SEITE.php?action=BEFEHL";

    Da wo jetzt in der Zeile

    document.location.href="SEITE.php?action=BEFEHL";

    SEITE steht, gibst du den namen der Seite an, in der der Countdown ist.

    und da wo

    BEFEHL steht gibst du einen Befehl an. (z.B. mysql oder so)

    Jetzt musst fu noch am anfang des Counterscript
    Code :
    1
    2
    
    <?
    if ($action !== "BEFEHL") {?>
    einfügen.

    Am Ende des Counterscripts noch

    Code :
    1
    2
    3
    4
    5
    
    <?php
    }else{
    HIER DER MYSQL_BEFEHL
    }
    ?>

    So habe ich das bei mir gelöst. Klappt wunderbar.

    mb fanste.

    PS: Danke an Sven Mintel der mich auf die Idee gebracht hat.
    Geändert von fanste (12.04.05 um 19:51 Uhr)
     
    Gruß fanste

    Benutze bitte immer die passende Highlight-Tags.(z.B: für PHP [php] [/php] Allgemein: [highlight=SCRIPTSPRACHE]Code[/highlight] )

    Problem gelöst? Dann markiere das Thema bitte als erledigt!
    Beachte bitte die Netiquette. Insbesondere Punkt 15.

  7. #7
    jerry0110 jerry0110 ist offline Mitglied Bronze
    Registriert seit
    Feb 2005
    Beiträge
    30
    Also so wie ich das jetzt auch noch gelesen habe (danke für die Antworten) wäre die beste Lösung das man 1. ein Hidden-Feld anlegt das vor dem Knopfdruck auf z.B. 1 ist und nach dem Knopfdruck auf -1 ist. Und das man dann in der MySQL Datenbank nur noch angibt das er nur den Wert (der die Zeit vorgibt bzw. die Variable) aus der Tabelle nimmt wo der Hiddenwert -1 ist. Das ist dann ja nur einer. Und in der Datenbank steht dann nur noch die Zeit wie lange es dauert und Java zeigt es dann an. Zumindestens habe ich das so verstanden in den anderen Threads.

    Oder gibt es da einen Denkfehler?
     

Ähnliche Themen

  1. Countdown-Script gesucht
    Von Partyman im Forum PHP
    Antworten: 8
    Letzter Beitrag: 14.01.08, 19:36
  2. Countdown Script spielt verrückt!?
    Von maga147 im Forum PHP
    Antworten: 0
    Letzter Beitrag: 16.08.05, 11:15
  3. Countdown in java
    Von Theeagle im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 05.10.03, 17:17
  4. brauche ein Countdown-script!
    Von spence im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 30.05.03, 17:21
  5. Countdown Script
    Von medicus41 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 19.05.03, 16:40