In mijn database heb ik de kolommen Date, Time, Temp en WindChill.
In de kolom Date staan per datum ca 200 regels. Nu wil ik per datum de hoogste waarde van Temp met de Time en de laagste waarde van Temp met Time weergeven. Idem voor WindChill.
Voor het filteren van de datums gebruik ik de volgende code:
<?php
$date = mysql_query("SELECT DISTINCT Date FROM weerdata ORDER BY Date ASC", $db);
if ($date){
while ($date_result = mysql_fetch_array($date)){
echo $date_result[0] . "<br>\n";
}
}
else {
echo "$error";
}
?>
Voor het opvragen van de hoogste waarde van Temp op een bepaalde datum gebruik het de volgende code:
<?php
$date = "2007-04-21";
$Temp = mysql_query("SELECT *, DATE_FORMAT(Time, '%H:%i') AS shorttime FROM weerdata WHERE Date='$date' ORDER BY Temp DESC, Time ASC LIMIT 1", $db);
if ($Temp) {
while ($Temp_result = mysql_fetch_array($Temp)){
echo $Temp_result['Temp']." °C om " . $Temp_result['shorttime'] . " uur";
}
}
else {
echo "$error";
}
?>
Voor de minimale waarde van Temp:
<?php
$Temp = mysql_query("SELECT *, DATE_FORMAT(Time, '%H:%i') AS shorttime FROM weerdata WHERE Date='$date' ORDER BY Temp, Time ASC LIMIT 1", $db);
if ($date) {
while ($Temp_result = mysql_fetch_array($Temp)){
echo "<td>" . $Temp_result['Temp'] . "</td><td>" . $Temp_result['shorttime'] . $Time . "</td>";
}
}
else {
echo "$error";
}
?>
Voor WindChill is dit vergelijkbaar.
Hoe combineer ik de 1e query (elke datum 1x weergeven) en de bij de datums uit deze query behorende max en min waarden van Temp en Winchill met Time?
De bedoeling is om per datum de max Temp met Time, min Temp met Time etc, in een HTML tabel te zetten.
320 views