Counter/Zähler für Buttermilch/Kaffee-Konsum

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

  • Counter/Zähler für Buttermilch/Kaffee-Konsum

    Werte Gemeinde,

    für ein Projekt wird ein Counter benötigt der stündlich, täglich oder wöchentlich eine bestimmte Summe addiert. Dies soll per einfacher Textanzeige dargestellt werden; "10 Kaffees seit dem 16.02.2012 getrunken".
    (Das Datum ist Fix und gilt als Stichtag)

    Wir geben also entsprechend vor das beispielsweise 3 Kaffees pro Tag getrunken werden.

    Also wird am 17.02.2012 angezeigt; "13 Kaffees seit dem 16.02.2012 getrunken".

    Ähnliches soll es mit Stündlicher und Wöchentlicher aktualisierung geben.

    Wer kann mir verraten wie der Code auszusehen hat?

    Danke.

  • #2
    Hi,

    wenn du die Daten speichern willst, würde ich Dir AJAX vorschlagen. Den Zeitrahmen kannst du bestimmen, wenn du im body ein onload Ereignis machst und dann imemr mittels winow.load und window.setinterval definierst. Bsp.:

    PHP-Code:
    <!-- Header -->
    var http_request = false;

    function load_data(str) {

        http_request = false;
        if (window.XMLHttpRequest) {
            http_request = new XMLHttpRequest();
        } else if (window.ActiveXObject) {
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!http_request) {
            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
            return false;
        }
        document.getElementById("txtHint").style.display='';
        http_request.open("GET", "meinscript.php?q="+str, true);
        http_request.onreadystatechange = InhaltPost;
        http_request.send(null);    
        
    }
     
    function InhaltPost() {
        if (http_request.readyState == 4){
            var answer = http_request.responseText;
            if(document.getElementById("txtHint").innerHTML != answer){
                document.getElementById("txtHint").innerHTML = answer;
            }
        }
    }

    window.onload = "load_data(<?php echo $denWertdenDuspeichernoderübergebenwillst?>)";
    interval = window.setInterval("load_data(<?php echo $denWertdenDuspeichernoderübergebenwillst?>);", 5000); //alle 5 Sekunden
    im Body machst du sowas wie

    PHP-Code:
    onload='load_data(<?php echo $denWertdenDuspeichernoderübergebenwillst?>);'
    und jetzt brauchst du noch dein script, das die Daten einträgt in eine DB Tabelle

    PHP-Code:
    <?php

    //DB-Verbindung hier aufbauen
    //...

    $wert $_GET["q"] + 1//+ 1 Kaffe alle 5 Sekunden

       
    $update mysql_query("UPDATE meineTabelle SET meineSpalte = '".$wert."'");
    //usw.
    ?>
    ist jetzt nur ein vereinfachtes Beispiel fürs Verständnis (und ohne jegliche Sicherheitsmaßnahmen)!! Du brauchst dann z.B. ein div mit der id "txtHint" wo du den Wert anzeigst (über eine SQL Abfrage)!

    mfg streuner
    Zuletzt geändert von streuner; 17.02.2012, 09:09.
    Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
    der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

    "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

    Kommentar


    • #3
      Hallo streuner,

      das sieht gut aus! Danke.

      Gibt es ähnliches auch ohne Datenbankanbindung?

      Kommentar


      • #4
        Hi,

        das ist jetzt nur ein Konzept und noch nicht für dne vollwertigen Einsatz gedacht!

        Du kannst die Daten auch in einem Textfile speichern.

        mfg streuner
        Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
        der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

        "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

        Kommentar


        • #5
          Hallo,

          ich habe es mit einer einfachen, vielleicht nicht der schönsten, Lösung realisieren können.

          PHP-Code:
          <script>
          var 
          montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
          function 
          countup(yr,m,d){
          var 
          today=new Date()
          var 
          todayy=today.getYear()
          if (
          todayy 1000)
          todayy+=1900
          var todaym=today.getMonth()
          var 
          todayd=today.getDate()
          var 
          todaystring=montharray[todaym]+" "+todayd+", "+todayy
          var paststring=montharray[m-1]+" "+d+", "+yr
          var difference=(Math.round((Date.parse(todaystring)-Date.parse(paststring))/(24*60*60*1000))*1)
          difference+=" Buttermilch"
          document.write("<h4>"+difference+" getrunken.</h4>")
          }
          countup(2012,01,17)
          </
          script

          Kommentar

          Lädt...
          X