Ankündigung

Einklappen
Keine Ankündigung bisher.

[ERLEDIGT] Euro-Betrag hochzählen in Sekunden

Einklappen

Neue Werbung 2019

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

  • [ERLEDIGT] Euro-Betrag hochzählen in Sekunden

    Hallo Zusammen,

    ich möchte gerne unsere Uni unterstützen und würde gerne eine Hochzählung auf der Webseite abbilden.

    Erklärung: Mein Seminar stiftet 166€ pro Monat an einen gemeinnützigen Verein. Nun würde ich gerne so eine coole "Stoppuhr" auf der Webseite einstellen, wie viel Geld seit dem 01.09.2015 gesammelt wurde und dieses in Sekunden, damit man das Geld nur so fließen sieht

    Des weiteren ein Array mit den Beträgen, die wir schon für andere Dinge ausgegeben haben, welche natürlich von der Endsumme abgezogen werden müssen.

    Ich kenne mich nur Grundlegend mit PHP aus, also bin ich nicht weit bekommen. Ich weiß auch nicht, wie man dann die Seite bzw. nur die Berechnung jede Sekunde aktualisieren kann.

    PHP-Code:
    $sekundenBetrag 0,000065;
    $heuteDatum microtime(true);
    $startDatum mktime(000912015);
    //$startDatum = new DateTime("2015-09-01");
    $arr_ausgegeben = array(210);

    $diffTime $heuteDatum $startDatum;
    $milli explode("."round($diffTime2));
    $millisec round($milli[1]);

    //Berechnung für Tage, Stunden, Minuten
    $day floor($diffTime / (24*3600));
    $diffTime $diffTime % (24*3600);
    $diffTime $diffTime % (60*60);
    $sec $diffTime 60;

    echo 
    'Tage seit Start: ' $day;
    echo 
    "<br>";
    echo 
    'Seit ' $startDatum ->format("d.m.Y") . ' ausgegeben: ' array_sum($arr_ausgegeben) . '€';
    echo 
    "<br>"
    Vielleicht geht es mit JavaScript besser
    Aber vielen Dank für die Hilfe. Ich bin für jeden bisschen Code und Rat dankbar.

  • #2
    JS ist hier vermutlich der richtigere Ansatz. PHP ist Serverseitig, heißt immer wenn sich was ändern soll, muss der Server es neu ausliefern. Heißt entweder du machst sekündlich ein Page-Reload oder du machst es mit JS ev. auch mit AJAX.

    Kommentar


    • #3
      Ich habe nun etwas gebaut

      Code:
      <script type='text/javascript'>
      <!--
      function time() {
              var StartDatum=new Date(2015,7,1);
              var HeuteDatum=new Date();
              var sekunden=Math.floor((HeuteDatum-StartDatum)/1000);
              var zahl = sekunden * 0.000065;
              document.getElementById('spanId').innerHTML = zahl.toFixed(5);
      }
      
      var interval = window.setInterval('time()', 1000);
      //-->
      </script>
      
      <span id="spanId">berechne...</span> Euro
      Ich wusste gar nicht, dass ich Java Script kann

      Kommentar


      • #4
        Nun brauche ich doch noch Hilfe:

        Code:
        <script type="text/javascript">
        // <![CDATA[
        function time() {
         
             var diff = new Date() - StartDatum;
             var sekunden = Math.floor(diff/1000);
        
             var zahl = (sekunden * KonstanteSec ) - sumAusgaben;
        
             document.getElementById('spanBetrag').innerHTML = zahl.toFixed(5);
             document.getElementById('spanAusgaben').innerHTML = sumAusgaben;
             document.getElementById('spanDatum').innerHTML = StartDatum.toLocaleFormat('%d-%b-%Y');
             
        }
        
        var ausgaben = [0];
        var sumAusgaben = 0;
        var StartDatum = new Date(2015,7,1); //ab August
        var KonstanteSec = 2000/12/30/24/60/60;
        
        for (var i=ausgaben.length; i--;) {
             sumAusgaben+=ausgaben[i];
        }
        
        var interval = window.setInterval('time()', 500);
        
        // ]]></script>
        
        Betrag verfügbar seit <span id="spanDatum">xx</span>:
        
        <strong><span id="spanBetrag">berechne...</span> €</strong>
        (Ausgaben: <span id="spanAusgaben"></span> €)
        Ich bekomme es nicht "schneller" hin. Ich möchte gerne eine Aktualisierung pro Millisekunde oder halbe Sekunde.

        Kommentar


        • #5
          Schau dir schnell die Doku dazu an. Das verstehst du sicher schnell

          Du gibst der Funktion setIntervall eine Zahl mit - Die gibt die Millisekunden an in welchem Rythmus du die gegebene Funktion wiederholen möchtest.
          Du benutzt da gerade 500 Millisekunden.

          Habe jetzt nur schnell deine Frage beantwortet ohne mir den Rest genauer anzuschauen

          Kommentar


          • #6
            Zitat von AnnaM Beitrag anzeigen
            Ich habe nun etwas gebaut
            ...
            Ich wusste gar nicht, dass ich Java Script kann
            Zitat von AnnaM
            Ich bekomme es nicht "schneller" hin. Ich möchte gerne eine Aktualisierung pro Millisekunde oder halbe Sekunde.
            Interessant. Dh du hast beim Erstellen des JS-Codes "gut geraten" ? Du solltest Lotto spielen.

            Kommentar


            • #7
              Ahh, danke Klimbo. Ich wusste nicht, dass
              Code:
               var diff = new Date() - StartDatum;
              bereits Millisekunden ausgibt. D.h. ich muss nur die Konstante durch 1000 teilen und dann gehts. Supi

              Ok, dann kann das hier geschlossen werden Kann ich das selber, oder macht dieses ein Moderator?

              Kommentar


              • #8
                Zitat von hausl Beitrag anzeigen
                Interessant. Dh du hast beim Erstellen des JS-Codes "gut geraten" ? Du solltest Lotto spielen.
                Hi, also ich fande es für meine ersten Gehversuche nicht schlecht. Ich habe mich an einem Beispiel für einen Countdown gehalten, aber es zu einem CountUp umgebaut.

                Kommentar


                • #9
                  Zitat von AnnaM
                  Ok, dann kann das hier geschlossen werden Kann ich das selber, oder macht dieses ein Moderator?
                  Sowas geht derzeit leider noch gar nicht. Ich mach dir ein ERLEDIGT in den Titel rein.

                  Kommentar

                  Lädt...
                  X