Jeden Tag Daten aus einer Datenbank kopieren
Simon
- php
0 BurninLeo0 Vinzenz Mai0 Simon0 Vinzenz Mai0 Simon
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
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
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
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
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
Hi Vinzenz,
danke erstmal. Werde das ganze mal machen, und wenn ich noch Probleme mich hier melden.
MfG
Simon