Ankündigung

Einklappen
Keine Ankündigung bisher.

script mehrfach ausführen

Einklappen

Neue Werbung 2019

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

  • script mehrfach ausführen

    Moin,

    Ich habe in einer Datenbank verschiedene Daten gespeichert in der Form: 06-03-2020 23:20:15 ( =einer der $dsatz["Datum"]; )
    Nun will ich diese ausgeben. Leider wird nur 1x die "id=times" ausgegeben.
    Grund weil die id ja nur 1x besetzt werden kann... habe bereits mit funktionen rumexperimentiert oder alle $dsatz zuerst in einem array gespeichert... komme nicht weiter...

    Code:
    while ($dsatz = mysqli_fetch_assoc($sqlzeit))
    {
    <p id="times"></p> //ausgabe der Restzeit bis zu Datum von $dsatz["Datum"];
    
    <script>
    var countDownDate = new Date("<?php echo $dsatz["Datum"]; ?>").getTime(); //hole Zeit von der Datenbank.
    
    var x = setInterval(function() {
      var now = new Date().getTime();
    
      var distance = countDownDate - now;
    
      var days = Math.floor(distance / (1000 * 60 * 60 * 24));
      var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
      var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
      var seconds = Math.floor((distance % (1000 * 60)) / 1000);
    
      document.getElementById("times").innerHTML = days + "d " + hours + "h "
      + minutes + "m " + seconds + "s ";
    
      if (distance < 0) {
        clearInterval(x);
        document.getElementById("times").innerHTML = "EXPIRED";
      }
    }, 1000);
    </script>
    }
    Hoffe mir kann hier jemand weiterhelfen, wie ich das machen kann, da ich mich mit javascript nicht wirklich auskenne...

    Gruss newsletter

  • #2
    Warum in dieser Form "06-03-2020 23:20:15" und nicht als ISO und mit dem richtigen Datentyp DateTime?

    Kommentar


    • #3
      Hallo, danke für deine Nachricht.

      Ich habe mich gestern zum ersten mal mit php mit der Zeit auseinandergesetzt.

      PHP-Code:
      $timestamp strtotime('+ 30 days'); 

      $datum date("d-m-Y H:i:s"$timestamp);
      echo 
      $datum
      Mit Datetime gehts natürlich auch:
      (mit C# und vb.net verwendet man auch datetime())
      PHP-Code:
      $date = new DateTime('now +30days', new DateTimeZone('Europe/Berlin'));
      echo 
      $date->format('Y-m-d H:i:s'); 
      Wie meinst du das mit dem "ISO"?

      In welchem Format ich das ambesten in der Datenbank abspeichere weiss ich noch nicht.

      Natürlich soll es am Ende für den Betrachter auf der Webseite korrekt angezeigt werden:
      20-06-2020 23:20:15 und auch der Zähler: 46d 5h 25m 44s
      Was javascript betrifft finde ich im Buch "Einstieg in Javascript - Rheinwerk Verlag Thomas Theis" nichts (nur per Date()) bzw. per Google sehr wenig...

      Kommentar


      • #4
        Zitat von newsletter Beitrag anzeigen
        Wie meinst du das mit dem "ISO"?
        Suchmachine anwerfen: https://www.google.de/search?q=datum+iso+format

        Zitat von newsletter Beitrag anzeigen
        In welchem Format ich das ambesten in der Datenbank abspeichere weiss ich noch nicht.
        du hast doch aber oben geschrieben
        Zitat von newsletter Beitrag anzeigen
        Ich habe in einer Datenbank verschiedene Daten gespeichert in der Form: 06-03-2020 23:20:15
        und davon gehen wir dann natürlich aus.


        Zitat von newsletter Beitrag anzeigen
        Natürlich soll es am Ende für den Betrachter auf der Webseite korrekt angezeigt werden:
        Du kannst die DB-Abfrage so gestalten, dass du das Datum und die Zeit gesplittet erhältst.

        Zitat von newsletter Beitrag anzeigen
        Was javascript betrifft finde ich im Buch "Einstieg in Javascript - Rheinwerk Verlag Thomas Theis" nichts (nur per Date()) bzw. per Google sehr wenig...
        Du solltest nicht zu viele Baustellen gleichzeitig aufmachen. Normalerweise lernt man erst HTML und CSS Danach PHP und danach SQL und dann als Bonus zum Schluss Javascript.

        Kommentar

        Lädt...
        X