Punkte pro Tag?

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

  • Punkte pro Tag?

    Ich habe eine Tabelle die ist in etwa so aufgebaut:
    Code:
    id   punkte   date
    1      55       1196677746
    2      40       1196703267
    3      60       1196703277
    4      -5       1196703290
    Also es stehen die Punkte drinnen un das Datum an dem ein User diese bekommen hat.
    Nun möchte ich eine kleine Statistik erstellen und so eine Art Diagramm machen, welches mir anzeigt wieviel Punkte jeden Tag gewonnen/verloren wurden.

    Wie muss ich da meine SQL-Abfrage aufbauen? Bzw den PHP-Code?
    Also ich will im Endeffekt nen Array mit den Tagen und den Werten bekommen.
    Das dann so aussieht:
    Code:
    1.1. -> 100
    2.1. -> 200
    3.1. -> -40
    und so weiter

    zur Zeit hab ich eigentlich noch nich viel:
    PHP-Code:
    $sql "SELECT * FROM punkte ORDER BY date;";
    $result mysql_query($sql) OR die("Query: <pre>".$sql."</pre>\n"."Antwort: ".mysql_error());
    while(
    $row mysql_fetch_assoc($result)) {
      
    // ka was hier her muss um alle Punkte pro Tag rauszufinden

    Mess with the Besth, die like the rest!

  • #2
    Bei der Struktur würde ich:
    - Einen Datensatz holen (aus der Ressource)
    - Wenn es der erste ist, den Tag aus dem Timestamp ermitteln und diesen zwischenspeichern
    - Wenn es nicht der Erste ist, prüfen, ob der Timestamp im selben Tag liegt wie der im Zwischenspeicher
    - Ist das der Fall, die daten in ein Zwischenarray legen
    - Ist das nicht der Fall, die daten aus dem Zwischenarray in das spätere Ergebnisarray legen, das zwischenarray löschen, den aktuellen Tag neu berechnen und die daten des Datensatzes in das Zwischenarray schmeißen
    - Wieder nach oben

    Und das so lange, bis keine Datensätze mehr in der Ressource sind.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Vielleicht auch sowas:

      PHP-Code:
      SELECT idSUM(punkte), FROM_UNIXTIME(date,"%d.%m") AS datum FROM `punkteGROUP BY DATE(FROM_UNIXTIME(date)) 

      Kommentar

      Lädt...
      X