bernd-h
Goto Top

Ausgabe aus einer Sql Abfrage weiter bearbeiten

Ich habe eine Abfrage der Tageshöchstwerte aus einer Datenbank
die funktioniert auch prima,
aber ich würde gerne die Tagesdifferenzen errechnen,
eigentlich müsste ja diff helfen, aber ich krieg das nicht hin.

$sql = "SELECT date_format (date,'%d.%m.%Y') as Datum,  
   max(PV_Zaehler_Energie) as Tagesertrag,
   max(Batterie_Ladezaehler_Energie) as Batt_In,
   max(Batterie_Entladezaehler_Energie) as Batt_Out,
   max(Strom_Bezug_Zaehler_Energie) as Bezug,
   max(Strom_Einspeise_Zaehler_Energie) as Einspeisung
FROM data WHERE date >= '$fdstart' group by date(date)";  
$result = @mysql_query($sql);

while ($row = @mysql_fetch_array($result,MYSQL_BOTH)){
$Datum = $row["Datum"];  
$Tagesendwert = $row["Tagesertrag"];  
$Batt_In = $row["Batt_In"];  
$Batt_Out = $row["Batt_Out"];  
$Bezug = $row["Bezug"];  
$Einspeisung = $row["Einspeisung"];  

echo " $Datum - $Tagesendwert - $Batt_In - $Batt_Out - $Bezug - $Einspeisung\r\n";  
}
?>
Ausgabe
 27.08.2013 - 973.626 - 42.8 - 9.148 - 115031 - 225606
 28.08.2013 - 1012.55 - 43.2345 - 18.766 - 289.163 - 390.677
 29.08.2013 - 1043.15 - 45.8295 - 30.763 - 297.343 - 391.467
 30.08.2013 - 1069.41 - 58.7085 - 44.3625 - 302.26 - 392.023
 31.08.2013 - 1081.85 - 61.5585 - 50.4965 - 315.207 - 392.18

Content-Key: 215784

Url: https://administrator.de/contentid/215784

Printed on: April 19, 2024 at 21:04 o'clock

Member: filippg
filippg Aug 31, 2013 updated at 21:14:18 (UTC)
Goto Top
Hallo,

ja... und?
Ich würde das nicht in der SQL-Abfrage versuchen, sondern während der Ausgabe.
Vor dem "while ($row = @mysql_fetch_array($result,MYSQL_BOTH)){" ein $lastDayMax = 0, dann vor der Ausgabe halt die Differenz errechnen und mit ausgeben, und anschließend (vor dem Ende der der while-Schleife natürlich ) $lastDayMax = $row["Tagesertrag"];
Oder so ähnlich face-wink

Grüße

Filipp

Edit: oder auch einfacher ausgedrückt: Merke dir einfach bei jedem Schleifendurchlauf den aktuellen Wert, und verwende ihm beim nächsten Durchlauf für die Berechnung