Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] MAX z przedziału
brzanek
post
Post #1





Grupa: Zarejestrowani
Postów: 429
Pomógł: 0
Dołączył: 8.11.2012

Ostrzeżenie: (0%)
-----


Mam kolejny kłopot.
Powiedzcie mi dlaczego to nie chce mi zadziałać tak jak powinno.
Mam kod
  1. $start = strtotime("tomorrow 08:00");
  2. $koniec = strtotime("tomorrow 19:00");
  3.  
  4. $result = $mysqli->query("
  5. SELECT MAX(hwindGust) AS wiatrsr, t.hwindBearing,zt.kierunek, hid_miasto, htime, t.hwindGust,zw.sila_wiatru
  6. FROM prognoza_godzinowa AS t, kierunek_wiatru AS zt, sila_wiatru AS zw
  7. 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
  8. ");
  9. while ( $row = mysqli_fetch_array($result) ) {
  10. $wiatr = ''.round($row['wiatrsr'],1).'';
  11. }
  12. echo '<p>'.$wiatr.'</p>';

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
  1. $result = $mysqli->query("SELECT MAX(hwindGust) AS wiatrsr FROM prognoza_godzinowa WHERE htime BETWEEN '".$start."' AND '".$koniec."' AND hid_miasto=9");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. echo '<p>'.round($row['wiatrsr'],1).'</p>';
  4. }

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ć?

Ten post edytował brzanek 20.11.2018, 22:38:00
Go to the top of the page
+Quote Post

Posty w temacie
- brzanek   [MySQL][PHP] MAX z przedziału   20.11.2018, 22:11:28
- - Pyton_000   zamiast MAX użyj po prostu KodORDER BY `hwindG...   20.11.2018, 22:40:44
- - brzanek   Dzięki zadziałało Ale teraz mam inny problem muszę...   21.11.2018, 07:00:22
- - Neutral   [SQL] pobierz, plaintext SELECT SUM(tx.hcloudc...   21.11.2018, 14:08:35
- - brzanek   Ten kod nie działa. Podstawiłem tam swoje dane ale...   21.11.2018, 21:48:50
- - trueblue   Nie będzie działać, bo to, że dałeś alias dla sumy...   21.11.2018, 22:09:14
- - brzanek   Chcę aby sumowana wartość hcloudCover z przedziału...   21.11.2018, 22:16:46
- - trueblue   Suma w takim przypadku wykonuje się na rekordach, ...   21.11.2018, 22:34:00
- - brzanek   Czyli co muszę najpierw to dać [PHP] pobierz, plai...   21.11.2018, 22:42:28
- - Neutral   [SQL] pobierz, plaintext SHOW CREATE TABLE brzanek...   22.11.2018, 00:18:31
- - brzanek   Trochę tego nie kumam AND hid_city = 59) AS vv, br...   22.11.2018, 08:36:19
- - viking   https://en.wikipedia.org/wiki/Alias_(SQL)   22.11.2018, 08:59:10
- - brzanek   No fajnie tylko powiedzcie mi gdzie ja w tym wszys...   22.11.2018, 09:51:19
- - nospor   Naprawde nie widzisz SUM w tym zapytaniu? A to: s...   22.11.2018, 11:14:56
- - brzanek   Faktycznie jest ale mam z tym sposobem problem bo ...   22.11.2018, 11:47:16
- - nospor   CytatZa każdym razem pokazuje tylko pierwszą. A il...   22.11.2018, 11:59:13
- - Neutral   [SQL] pobierz, plaintext SELECT *, SUM(hcloudc...   22.11.2018, 12:08:32
- - brzanek   Pewnie macie rację ale zrobiłem to troszkę inaczej...   22.11.2018, 12:57:24


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 23:59