Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] odczytanie maxymalnej wartosci
Forum PHP.pl > Forum > Przedszkole
Kimas
witam

mam taki scripcik:
  1. <?php
  2. mysql_select_db("temperatura");
  3.  
  4.  
  5. $zapytanie = "SELECT `temperatura` FROM `temp` WHERE `date`='2007-11-02'"; 
  6.  
  7. $wykonaj = mysql_query($zapytanie);
  8.  
  9. $wiersz = mysql_fetch_row($wykonaj);
  10.  
  11.  
  12. echo '<table>';
  13. while ($wiersz = mysql_fetch_row($wykonaj)) 
  14.  {
  15. echo '<tr><td>'. $wiersz[0] .'</td></tr>';
  16.  }
  17. echo '<table>';
  18. ?>


tyle ze on pokazuje mi wszystkie wartosci z kolumny temperatura, jak zrobic aby pokazywal wartość maxymalna??
rolnix
  1. <?php
  2. mysql_select_db("temperatura");
  3.  
  4.  
  5. $zapytanie = "SELECT MAX(`temperatura`) as `szczyt` FROM `temp` WHERE `date`='2007-11-02'"; 
  6.  
  7. $wykonaj = mysql_query($zapytanie);
  8.  
  9. $wiersz = mysql_fetch_array($wykonaj);
  10.  
  11. echo '<tr><td>'. $wiersz['szczyt'] .'</td></tr>';
  12.  
  13. echo '<table>';
  14. ?>


Sprawdź, mogą być babole, pisałem na sucho.
Kimas
wyswietla dobrze temp max ale tylko taka ktora przed przecinkiem ma jeden znak, bo np w bazie mam temp powyzej 10 i rowna 10 i juz tego nie wyswietla
nospor
Wnioskuje ze te wartosc masz zapisana jako tekst. No a czemu? Przeciez temperatura to liczba a nie tekst. Nie dziw sie wiec ze ci robi maxa z napisu a nie z liczby.
Zmien wiec typ pola na liczbe, jesli jednak nie mozesz tego zrobic to:
  1. ...MAX(`temperatura`+0)...
Kimas
dzieki, pomoglo, mam kolene pytanie, czy typ danych FLOAT bedzie dobry do zapisu temperatury?
rolnix
Zależy... jeśli potrzebujesz precyzji jednej liczby po przecinku, to lepiej przykładowe 23,4 stopnie trzymaj jako 234 w unsigned short incie, potem sobie podzielisz przez 10. MySQL ma jakieś cholerne wymagania miejscowe do liczb rzeczywistych o0
Kimas
poradzielm sobie juz z typem danych, teraz mam kolejny problem, gdy uzywam do wysietlania danych scriptu ktory pokazalem wyzej nie pokazuje mi pierwszego wiersza tylko zaczyna od drugiego

baze tworzylem za pomoca kodu:

  1. $query = "CREATE DATABASE temperatura ";
  2.  
  3. $result = mysql_query($query) OR die("<FONT color=\"red\">Problem</FONT>");
  4.  
  5. mysql_select_db("temperatura");
  6. $query = "CREATE TABLE temp (id int NOT NULL AUTO_INCREMENT, date DATE NOT NULL, time TIME NOT NULL, temperatura SMALLINT(6) NOT NULL, PRIMARY KEY(id))";
  7.  
  8. $result = mysql_query($query) OR die("<FONT color=\"red\">Problem 333</FONT>");
nospor
Przed glowna petla masz:
  1. <?php
  2. $wiersz = mysql_fetch_row($wykonaj);
  3. ?>
Po co? Przeciez to ci zjada wlasnie ten pierwszy rekord.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.