Autor | Zpráva | ||
---|---|---|---|
netrats Profil |
#1 · Zasláno: 7. 4. 2013, 10:17:34
Ahoj, jsem v PHP začátečník a nemůžu nikde najít řešení na můj problém, proto prosím o pomoc.
Do MYSQL si ukládám data z meteostanice a pomocí PHP si je vytahuju. V MYSQL je teplota uložena jako double, rok jako year(4) a datum jako date. Napsal jsem si MYSQL dotaz na spočítání průměrné teploty za daný rok a za daný měsíc $mesic = date("m"); $rok = date("Y"); $sql_prikaz5 = "SELECT AVG(teplota) FROM loucka WHERE rok=$rok"; $sql_prikaz8 = "SELECT AVG(teplota) FROM loucka WHERE EXTRACT(MONTH FROM datum)=$mesic"; Zajímá mě, proč rok funguje a měsíc ne, píše to chybu Object of class mysqli_result could not be converted to string a hlavně, jak to opravit :-). Díky všem za pomoc a za vysvětlení. |
||
Camo Profil |
Na také niečo existuje funkcia month(datum) ktorá vytiahne mesiac z dátumu.
A zdá sa, že robíš niečo zle v spracovávaní mysqli_resultu podľa toho erroru. |
||
Časová prodleva: 7 dní
|
|||
netrats Profil |
Ahoj, děkuji za odpověď a za pomoc, už jsem na to přišel,
posílám fungující interpretaci. $vysledek8 = mysqli_query($db_spojeni, $sql_prikaz8); if (!$vysledek8){echo 'Poslání SQL příkazu Loučka se nepodařilo, sorry';echo '<br />';echo 'Popis chyby: ', mysqli_error($db_spojeni);exit();} echo ("Měření pro tento mesic (".$mesic."):");echo "<br />"; while($row8 = mysqli_fetch_array($vysledek8)){ echo "Průměrná teplota: ".round($row8["AVG(teplota)"], 2)."°C"; echo "<br />"; } Jen se chci ještě zeptat, když použiju dotaz $sql_prikaz9 = "SELECT teplota FROM loucka WHERE EXTRACT(MONTH FROM datum)=$mesic ORDER BY teplota asc limit 1"; a v daném měsíci není v databázi žádný záznam, tak to nic nevypíše, ani chybu, jak to správně ošetřit ??? Díky za pomoc :-). |
||
Tori Profil |
#4 · Zasláno: 14. 4. 2013, 08:44:52
Pokud má výsledek nula řádků (http://www.php.net/manual/en/mysqli-result.num-rows.php), vypíšete nějaké info. Jinak vypíšete teploty.
|
||
Časová prodleva: 11 let
|
0