Datumsausgabe Problem Mysql

  • Hi,

    ich habe folgendes Problem. Ich werte logfiles aus und zähle wieviele user an tag x online waren. D.h. es gibt z.b. folgendes Ergebnis:

    datum anzahl user
    12.12.08 12
    14.12.08 19
    ...

    Mein Problem ist, ich möchte die abfrage nun so anpassen, dass er die datumsangaben wo niemand online war, also kein eintrag in den logfiles vorhanden ist, mit der zahl 0 für die anzahl der user ausgibt

    also so:
    datum anzahl user
    12.12.08 12
    13.12.08 0
    14.12.08 19
    ...

    wie geht das? habe gesucht ohne ende aber nix gefunden

    hoffe ihr habt ne idee

  • Da du die Daten in der DB hast, musst du in der Ausgabeschleife prüfen, ob dir da Tage fehlen.

  • Wie hast du das Datum in der DB stehen? Ich hoffe, im Format date oder date_time?

    habe da überhaupt keinen plan


    Muss man auch nicht. Einfach mal etwas logisch denken reicht hier schon. ;)

  • Nö. ein Beispiel bekommst du nicht, aber ein paar Tipps:


    • Lege das Startdatum, ab wann du die Ausgabe haben willst, in einer Variablen fest.
    • Lese das Datum geschickt aus, dazu empfehle ich die Doku von MySQL bzgl. date_format
    • Baue die Ausgabeschleife
    • Prüfe das Datum aus der DB mit deinem festgelegtem Datum
    • Wenn eine Lücke vorhanden ist, eine Schleife bauen, wo du die Daten mit 0 ausgibst
    • Pro Schleifendurchlauf für die Ausgabe dein festgelegtes Datum erhöhen.


    That's it. Vielleicht versuchst du das einfach mal mit einfachen Zahlen, damit dir die Logik klar wird.

  • Mit einer SQL-Abfrage wird das wohl nicht gehen, deshalb hatte ich geschrieben:

    Zitat

    Da du die Daten in der DB hast, musst du in der Ausgabeschleife prüfen, ob dir da Tage fehlen.

  • aber wie geht das????

    wie ich das mit php mache ist mir klar


    Ja wat denn nu?

    Ein Beispiel mit Zahlen:


    Und jetzt nicht sagen "Ich hab' ja kein Array"! Damit hättest du zwar recht, aber du hast ein Schleife mit Daten, die, wenn sie richtig sortiert sind, genau dafür einsetztbar sind.

  • verstehs net, gib doch der spalte anzahl einfach den standart wert 0, dann hat die spalte auch immer 0 wenn es keine besucher gibt


    mfg

  • verstehs net, gib doch der spalte anzahl einfach den standart wert 0, dann hat die spalte auch immer 0 wenn es keine besucher gibt


    mfg

    Das ist für die Zukunft sinvoll, hilft ihm aber rückwirkend nicht.

    Ich verstehe ehrlich gesagt nicht, warum die Leute Datetime benutzen. Mit unix-timestamps lässt es sich doch viel einfacher rechnen, oder nicht? In diesem Fall könnte man dann in der Ausgabeschleife prüfen, ob zwei aufeinanderfolgende Einträge z.B. mehr als 25 Stunden auseinanderliegen. Dann wüsste man, wo Tage fehlen.

    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  • richtig man verwendet den timestamp...

    naja doch das hilft ihn doch immer noch, die leeren werden doch dann zu 0, zudem kann er ein massen update machen

    mfg