Powiedzcie mi dlaczego to nie chce mi zadziałać tak jak powinno.
Mam kod
$result = $mysqli->query(" SELECT MAX(hwindGust) AS wiatrsr, t.hwindBearing,zt.kierunek, hid_miasto, htime, t.hwindGust,zw.sila_wiatru FROM prognoza_godzinowa AS t, kierunek_wiatru AS zt, sila_wiatru AS zw WHERE t.hwindBearing>=zt.od AND t.hwindBearing<zt.do AND t.hwindGust>=zw.od AND t.hwindGust<zw.do AND htime BETWEEN '".$start."' AND '".$koniec."' AND hid_miasto =9 "); while ( $row = mysqli_fetch_array($result) ) { }
Kod powinien oddać najwyższą wartość w polu wiatrsr z danego przedziału zawartego pomiędzy $start a $koniec ale zwraca tylko pierwszą wartość z bazy i nie jest to najwyższa z danego okresu - dlaczego?
Takie zapytanie działa prawidłowo
$result = $mysqli->query("SELECT MAX(hwindGust) AS wiatrsr FROM prognoza_godzinowa WHERE htime BETWEEN '".$start."' AND '".$koniec."' AND hid_miasto=9"); while ( $row = mysqli_fetch_array($result) ) { }
Ale potrzebne mi to w pierwszym kodzie.
Sory kod działa ale pokazuje inny błąd.
Obecnie najwyższa wartość pobierana w tym przedziale czasowym z bazy danych to wiatrsr = 77
Natomiast sila_wiatru przy 77 daje kolor czerwony a wyświetla z (powinno być czerwony)
sila_wiatru pobierana jest jako pierwsza z tego przedziału a nie jak powinno być maksymalna.
Jak to naprawić?