Hallo allerseits,
ich hoffe das ich hier im richtigen Bereich bin, wenn nicht bitte verschieben.
Also folgendes: Ich möchte meine Gasverbrauch Auswerten,dazu habe ich den Gaszähler angezapft und nun werden in meiner mySQL(Gas) folgende Werte gepeichert:
Ich versuche mich gerade mit JPGraph anzufreunden und möchte die Ausgabe als Balkendiagramm darstellen.
Nun die FRAGE, wie kann ich die Datenbank abfragen, das mir nur der Verbrauch vom heutigen Tag angezeigt wird ?
Mein ansatz sieht so aus, DB Zugang:
JPGraph:
Aber damit kommt nicht das gewünschte raus.
Kann mir jemand Helfen ?
Ich bitte aber gleich um Nachsicht, bin sehr Neu auf dem Gebiet PHP usw.
Vielen Dank.
Gruß
Stefan
ich hoffe das ich hier im richtigen Bereich bin, wenn nicht bitte verschieben.
Also folgendes: Ich möchte meine Gasverbrauch Auswerten,dazu habe ich den Gaszähler angezapft und nun werden in meiner mySQL(Gas) folgende Werte gepeichert:
Code:
id ~ 1 datumzeit ~ 19-12-12-13-08-05 GZStand ~ 856225
Nun die FRAGE, wie kann ich die Datenbank abfragen, das mir nur der Verbrauch vom heutigen Tag angezeigt wird ?
Mein ansatz sieht so aus, DB Zugang:
Code:
<?php define('DB_SERVER',"localhost"); define('DB_NAME',"Gas"); define('DB_USER',"stefan"); define('DB_PASSWORD',"12345"); $conn = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD); if(is_resource($conn)) { mysql_select_db(DB_NAME, $conn); mysql_query("SET NAMES 'utf8'", $conn); mysql_query("SET CHARACTER SET 'utf8'", $conn); } else echo "Fehler beim speichern der Daten in der MySQL-Datenbank"; ?>
Code:
<?php // JPGraph Library einbinden include ("jpgraph/src/jpgraph.php"); include ("jpgraph/src/jpgraph_bar.php"); // Datenbank-Zugriff, -Abfrage und Array füllen include("db-config.php"); //$sql = "SELECT * FROM Gas"; //$sql = "SELECT GZStand FROM Gas ORDER BY id DESC LIMIT 13"; $sql = "SELECT DATE_FORMAT(datumzeit,'%d.%m.%Y') AS DATUM, DATE_FORMAT(datumzeit,'%H:%i') AS ZEIT FROM Gas WHERE `datumzeit` >= date_sub(now(), interval 24 hour) AND `datumzeit` <= now() GROUP BY DATE_FORMAT(datumzeit, '%Y-%m-%d %H') ORDER BY datumzeit DESC"; $result = mysql_query($sql) OR die(mysql_error()); $i=0; while ($array=mysql_fetch_array($result)) { $datum[$i]= strtotime($array[1]); //$GZStand[$i]=$array[2]; $i++; }; //$datay=$GZ; //$datax=$datum; // Setup the graph. $graph = new Graph(1090,240,"auto"); $graph->img->SetMargin(60,20,20,40); //$graph->SetScale("textlin"); $graph->SetScale("textlin"); $graph->xaxis->SetTickLabels($datum); $graph->SetMarginColor("lightblue:1.1"); $graph->SetShadow(); // Set up the title for the graph $graph->title->Set("Bar gradient with left reflection"); $graph->title->SetMargin(8); $graph->title->SetFont(FF_FONT1 ,FS_NORMAL,8); $graph->title->SetColor("darkred"); //Achsenbeschriftung $graph->xaxis->title->Set("Tag"); $graph->yaxis->title->Set("Verbrauch"); //Verschieben der y-Achsenbeschriftung $graph->yaxis->SetTitleMargin(50); //Werte festlegen $sql = "SELECT GZStand FROM Gas ORDER BY id DESC LIMIT 13"; $result = mysql_query($sql) OR die(mysql_error()); $i=0; while ($array=mysql_fetch_array($result)) { //$datum[$i]= strtotime($array[1]); $GZStand[$i]=$array[2]; $i++; }; // Arrays umsortieren $datum = array_reverse($datum); //Umwandlung in Graph $bplot = new BarPlot($GZStand); //Balkenfarbefarbe (JP Graph PreErstellung des Graphen $bplot->SetFillColor('red'); //ODER es ist auch ein Farbüberlauf möglich (1. FaAusrichtung) $bplot->SetFillGradient("red","yellow",GRAD_HOR); //Anzeige der Werte des jeweiligen Balkens $bplot->value->Show(); //y-Fläche erhöhen um % $graph->yaxis->scale->SetGrace(35); //Um die angezeigten Werte über den Graphen zu dreSchriftart festgelegt werden $bplot->value->SetFont(FF_TIMES); //oder die Farbe: $bplot->value->SetColor("darkred"); //Schatten ist ebenfalls möglich $bplot->SetShadow(); //x und y-Achse Farben festlegen $graph->xaxis->SetColor("red"); $graph->yaxis->SetColor("darkgreen"); //Gegeben falls Schatten einrichten $graph->SetShadow(); //Graph in die Grafik einfügen $graph->Add($bplot); // Graph ausgeben $graph->Stroke(); ?>
Kann mir jemand Helfen ?
Ich bitte aber gleich um Nachsicht, bin sehr Neu auf dem Gebiet PHP usw.
Vielen Dank.
Gruß
Stefan
Kommentar