• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

[MYSQL] Tagesstatistik auffüllen mit Dummywert

  • Ersteller User 75620
  • Erstellt am

User 75620

Gast
Hallo,

ich möchte mir gerade eine Statisik in Diagrammform erstellen, die die Logins auf meiner Seite pro Tag zeigt. Hierfür benutze ich das JS Plugin Highcharts. Hier gebe ich ein Startdatum an und muss anschließend nur noch über PHP ein Array erstellen in dem für jeden Tag die Anzahl der Logins steht. Die Werte dafür hohle ich mir aus einer MySQL Datenbank, in der jeder Login protokolliert wird. Zum Auslesen gruppiere ich alle werte nach jahr, monat und tag und bilde die Summe.
Nun zu meinem Problem, sollte an einem Tag mal kein Login stattfinden (z.b. am WE, da es sich um eine Intranetseite handelt), wird dieser tag nicht berücksichtigt und es erscheint der Wert für den Tag darauf an der entsprechenden stelle im Array. dies ist natürlich nicht so toll und es lässt sich nicht vermeiden, da die tage automatisch ab startdatum hochgezählt werden. Weiß jemand wie ich das umgehen kann, würde gerne eine 0 da stehen haben wenn es keinen zugriff gab.. hab mir überlegt das ich irgendwie jeden Tag einen dummywert erstelle, welchen ich dann von der Summe abziehe. Würde das gern über Mysql machen, weiß aber nicht wie.
andere lösung wäre das mit einem PHP Script zu machen, was einmal am tag ausgeführt wird. finde die lösung mit dem script aber nicht so toll, deshalb frag ich um rat.

meine SQL Abfrage:
Code:
SELECT count(*) as login 
FROM cms.system_authentifizierungsprotokoll
where protokoll_nachricht = 'erfolgreicher Login'
group by DATE_FORMAT(zeitstempel, '%d%m%Y')
order by zeitstempel

danke
 

DivDax

Bismarckapfel
Registriert
24.05.07
Beiträge
143
Zuerst solltest du dein SQL-Query mit Datum eingrenzen, sonst hast du alle Logins vom ersten bis zum letzten Tag.
Über 1-2 Jahre gesehen macht das keinen Sinn. ;)

Ich würde mir zuerst mittels array_fill() ein leeres Array erstellen und anschließend füllen.