Besucherdiagramm: Letzten 7 Tage auslesen

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

  • Besucherdiagramm: Letzten 7 Tage auslesen

    Hallo zusammen.

    Ich experimentiere gerade ein wenig mit der GDLib und hab ein primitives Balkendiagramm aus meiner Besucherstatistik zusammen programmiert.

    Zur Auswahl der Zeitspanne (zB 7 Tage) sollen dann die Einträge der letzten ausgewählten Tage kommen.

    Um eins vorwegzunehmen: Ja ich habe schon was von DATE_ADD/DATE_SUB gehört^^

    Mein Code bisher (der auch halb funktional ist):
    ...WHERE DATE_SUB(NOW(),INTERVAL ".$interval." DAY) <= datum...

    Wie auch in der manual beschrieben, werden genau 7 Tage abgezogen. Kleines Beispiel: Es ist 23:00 am 19.04 - 7 Tage 23:00 12.04 <- Genau da liegt mein Problem, die eine Stunden am 12.04 brauch ich aber nicht mehr, denn jetzt werden anstatt den gewollten 7 Balken, 8 angezeigt (Ist ja auch irgendwie total logisch).

    Wie kann ich es so programmieren, dass eben der 7. Tag auch wirklich der letzte ist?

    [Format für die Spalte 'datum': yyyy-mm-dd hh:mm:ss]

    Hab mir schon folgendes überlegt: Datum seperat in eine Spalte speichern und "... WHERE (substring(datum, 1, 2) - 7) <= substring(datum, 1, 2)..." Finde ich persönlich aber unschön (weiß nicht mal ob es funktioniern würde), falls es noch eine elegantere Lösung gibt

    Danke im Vorraus fürs Lesen und für Ideen, wobei ich auf Posts wie 'gidf' oä. gut verzichten kann -.-

  • #2
    du solltest den starttag mit 0uhr beginnen .... (denkanstoss)

    bzw es ist am ausgewählten tag ja nur der tag interessant, nicht die uhrzeit
    Zuletzt geändert von ; 19.04.2009, 23:25.

    Kommentar


    • #3
      Original geschrieben von Peacie
      du solltest den starttag mit 0uhr beginnen .... (denkanstoss)

      Jaja ist mir soweit schon klar nur bei der Realisierung stoß ich auf meine Grenzen!

      Kommentar


      • #4
        ich würde nicht mit now() renchnen sondern mit CURDATE()
        curdate ist der erste tag. 6 davor brauchst du

        ich hab mir den syntax nicht genau angesehen aber es gibt sowas wie

        SELECT CURDATE() - INTERVAL 6 DAY
        Zuletzt geändert von ; 19.04.2009, 23:38.

        Kommentar


        • #5
          Habs jetzt erstmal so:

          $interval--;
          "... WHERE DATE_SUB(CURDATE(),INTERVAL ".$interval." DAY) <= datum..."

          Und es scheint zu funktionieren

          Original geschrieben von Peacie
          ich hab mir den syntax nicht genau angesehen aber es gibt sowas wie

          SELECT CURDATE() - INTERVAL 6 DAY [/B]
          Werde mich danach mal umsehen...

          Kommentar

          Lädt...
          X