Simon: Jeden Tag Daten aus einer Datenbank kopieren

Hi,

vielleicht kennt ihr ja PHPLot. Es zeichnet anhand von Daten aus einer Variable ein Diagramm.
Da ich bei meinem Diagramm die Ergebnisse anzeigen möchte, würde mich interessieren wie ich jeden Tag das Gesamtergebnis in eine Variable bekomme.

Ein paar Tipps würden mir schon reichen.

MfG
Simon

  1. Hallo,

    ich habe ein ähnliches Problem einfach so gelöst, dass ein PHP-Script prüft, ob heute (=Übereinstimmung bei Tag/Monat/Jahr) schon ein Eintrag in die Tabelle (bei mir ein Logfile) geschrieben wurde. Falls nicht, wird ein neuer Eintrag inkl. Zeitstempel erzeugt.

    Das PHP-Script wird via Cronjob aufgerufen - oder an ein anderes Script angehängt, das öfter aufgerufen wird.

    Viele Grüße

    BurninLeo

  2. Hallo,

    vielleicht kennt ihr ja PHPLot. Es zeichnet anhand von Daten aus einer Variable ein Diagramm.

    nicht näher. Ich weiß, dass es PHPlot gibt.

    Da ich bei meinem Diagramm die Ergebnisse anzeigen möchte, würde mich interessieren wie ich jeden Tag das Gesamtergebnis in eine Variable bekomme.

    Wie soll Dein Diagramm aussehen?
    Welchen Zeitraum möchtest Du in Deinem Diagramm darstellen?
    Was ist "das Gesamtergebnis"?

    Die Daten scheinen in einer Datenbank zu stehen. Möchtest Du eine Auswertung für einen bestimmten Zeitraum machen, das Gesamtergebnis je Tag gemäß bestimmter Vorgaben ermitteln - und PHPlot mit diesen Daten arbeiten lassen?

    Wenn ja: Du könntest dies in SQL lösen und die Arbeit dem DB-Server überlassen. Es gibt GROUP-BY und Aggregatsfunktionen.

    Vielleicht kannst Du Deine Aufgabe konkreter beschreiben:
    Was Du versucht hast, wo Du hängengeblieben bist, Beispieldaten und das daraus resultierende Gesamtergebnis posten.

    Freundliche Grüße

    Vinzenz

    1. Hi,

      Wie soll Dein Diagramm aussehen?

      Es sollte ein Liniendiagramm sein.

      Welchen Zeitraum möchtest Du in Deinem Diagramm darstellen?

      Das ist ein kleines Problem. Da ja das Rating wenn es das erste mal online ist kaum Daten enthält (also z.B. 10 Bewertungen) wäre es das beste wenn das  Diagramm auf der x-Achse 7 Tage hat. Und um so länger das ganze online ist, desto größer wird der Zeitraum auf der X-Achse. Das heißt es passt sich automatisch an, so das z.B. nach 6 Monaten nicht mehr die Wochen stehen sondern : Jänner Februar März ....

      Was ist "das Gesamtergebnis"?

      Eine Zahl zwischen 1 und 10.

      Die Daten scheinen in einer Datenbank zu stehen. Möchtest Du eine Auswertung für einen bestimmten Zeitraum machen, das Gesamtergebnis je Tag gemäß bestimmter Vorgaben ermitteln - und PHPlot mit diesen Daten arbeiten lassen?

      Wie oben beschrieben.

      Vielleicht kannst Du Deine Aufgabe konkreter beschreiben:
      Was Du versucht hast, wo Du hängengeblieben bist, Beispieldaten und das daraus resultierende Gesamtergebnis posten.

      Naja hab noch nicht sehr viel versucht da ich keine Ahnung hatte wie ich das umsetzen könnte.

      MfG
      Simon

      1. Hallo Simon,

        verstehe ich Dich richtig:

        Das ist ein kleines Problem. Da ja das Rating wenn es das erste mal online ist kaum Daten enthält (also z.B. 10 Bewertungen) wäre es das beste wenn das  Diagramm auf der x-Achse 7 Tage hat. Und um so länger das ganze online ist, desto größer wird der Zeitraum auf der X-Achse. Das heißt es passt sich automatisch an, so das z.B. nach 6 Monaten nicht mehr die Wochen stehen sondern : Jänner Februar März ....

        Was ist "das Gesamtergebnis"?
        Eine Zahl zwischen 1 und 10.

        Das Gesamtergebnis für jeden Tag wäre die durchschnittliche Bewertung an jedem Tag. Für den Durchschnitt kennt jeder mir bekannt SQL-Dialekt die Aggregatsfunktion AVG(). Es ist sinnvoll, Dein Diagramm genau einmal am Tag zu erstellen, typischerweise kurz nach Mitternacht mit der Auswertung bis einschließlich des Vortages. Ein einfaches SQL-Statement mit einer GROUP-BY-Klausel liefert Dir die benötigten Daten:

        SELECT              -- Gib mir  
            Datum,          -- das Datum  
            [link:http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_avg@title=AVG](Bewertung)  -- und den (Tages-)Durchschnitt der Bewertungen  
        FROM                -- aus der Tabelle  
            Bewertungen     -- Bewertungen  
        GROUP BY            -- wobei es zu jedem  
            Datum           -- Datum genau einen Datensatz gibt.  
        
        

        Dies setzt voraus, dass in der Spalte Datum eben genau ein Datum (ohne Uhrzeit) gespeichert ist. Bei MySQL böte sich dazu der Datentyp DATE an. Ein Problem bereiten die Tage, an denen es keine Bewertung gab. Für diese Tage gibt es (vernünftigerweise) keinen Datensatz in der Ergebnismenge.

        Das Abfrageergebnis speicherst Du in einem (zweidimensionalen) PHP-Array, mit dem Du PHPlot füttern kannst. Wenn Du keine Datenbank benutzt, dann erkläre uns bitte, in welcher Form Du Deine Daten speicherst (mit ein paar Beispieldatensätzen).

        Freundliche Grüße

        Vinzenz

        1. Hi Vinzenz,

          danke erstmal. Werde das ganze mal machen, und wenn ich noch Probleme mich hier melden.

          MfG
          Simon