[JavaScript] Countdown

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Countdown

    Hallo

    Wie kann ich einen Countdown machen der runterzählt wo ich Werte aus einer Mysql entnehme mit einer while-abfrage.

    Ein Timestampwert wird abgefragt und in eine Variable "$Timestamp" abgelegt.
    Die Abfrage erfolgt solange bis alle Datensätze die bis heute gelten angezeigt werden.
    Die Abfrage funktioniert und die Zeit bis zum Enddatum wird auch angezeigt.
    Nun würde ich gerne die Anzeige " Zeit bis ende 122:33:13" nicht als normale Anzeige machen, sondern die Zeit soll runterzählen.
    Wie binde ich das ein?

    Bis jetzt habe ich ein Javascript aber das zeigt immer nur ein Datensatz an.

    Grüße

    Kreze

  • #2
    Bis jetzt habe ich ein Javascript aber das zeigt immer nur ein Datensatz an.
    Ich wollt dir grad nen Code posten, aber das ist doch schonmal ein idealer anfang.

    Am besten packst du das in eine Funktion (falls nicht sowieso schon geschehen) und dann rufst du die Funktion halt mehrfach auf. Als Parameter gibst du noch die ID des zu ändernden Elementes an, damit die Funktion auch weiß, für welchen der Countdowns sie zuständig ist.

    Falls das noch nicht hilft, solltest du mal dein konkretes Problem schildern.

    Kommentar


    • #3
      hier mein code



      PHP-Code:

      <?
      $abfrage = "SELECT * FROM zeit WHERE Gebaude='f' ORDER BY GebaudeName DESC";
      $ergebnis = mysql_query($abfrage);
      while($row = mysql_fetch_object($ergebnis))
         {
      $ZeitE = "$row->ForschungE";



      $timestamp = $ZeitE;

      $testausgabe = date("F, j Y H:i:s",$timestamp);



      ?>
      <script type="text/javascript">
      var end = new Date("<?PHP echo $testausgabe?>");
      function toSt2(n) {
        s = "";
        if (n < 10) s += "0";
        return (s + n).toString();
      }
      function toSt3(n) {
        s = "";
        if (n < 10) s += "00";
        else if (n < 100) s += "0";
        return (s + n).toString();
      }
      function countdown() {
        d = new Date();
        count = Math.floor(end.getTime() - d.getTime());
        if(count > 0) {
          miliseconds = toSt3(count%1000); count = Math.floor(count/1000);
          seconds = toSt2(count%60); count = Math.floor(count/60);
          minutes = toSt2(count%60); count = Math.floor(count/60);
          hours = toSt2(count%24); count = Math.floor(count/24);
          days = count;
          document.getElementById("c1").innerHTML = days + " T";
          document.getElementById("c2").innerHTML = hours + ":" + minutes + ":" + seconds
          setTimeout("countdown()", 50);
        }
      else
      {
          document.getElementById("c1").style.color = "#00FF00";
          document.getElementById("c1").innerHTML = "00:00:00";
          document.getElementById("c2").innerHTML = "<a href=\"bla.php\"><font color=\"#00FF00\">weiter</font></a>";
      }
      }
      window.onload = function(){
        countdown();
      }

      </script>
      <?

      echo '<p align="center" style="margin-top: 0; margin-bottom: 0">
       <SPAN id=c1 style="FONT: bold 14px arial; COLOR: red;"></SPAN>
       <SPAN id=c2 style="FONT: bold 14px arial; COLOR: red;"></SPAN>';
      }

      ?>

      Kommentar


      • #4
        Original geschrieben von TobiaZ
        Falls das noch nicht hilft, solltest du mal dein konkretes Problem schildern.

        Kommentar


        • #5
          Das Problem ist ich habe in der Datenbank 10 Einträge.
          Ohne Script werden alle 10 angezeigt.
          Mit dem Script nur 1.

          Warum? Wird die variable "$timestamp" beim zweiten, dritten, vierten..... nicht mehr genommen?

          Kommentar


          • #6
            das würde mich auch interessieren...

            gibt es eigentlich eine CountDownfunction?!?!

            mfg
            Es gibt im Leben immer einen der besser ist als man selbst..das sollte keiner vergessen *fg

            Kommentar

            Lädt...
            X