Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 3
autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14
Czasami chcemy w ramach statystyk wyświetlić np. tylko 10 pierwszy wierszy. Na przykład chcemy wyświetlić 10 zawodników, którzy zdobyli najwięcej punktów.
Można to zrobić w sposób prosty: wybrać wszystkich zawodników malejąco według zdobytych punktów, podczas wyświetlania kolejnych wierszy odliczać a przy dziesiątym wierszu przerwać pętle odpowiadającą za wyświetlanie wierszy. Takie rozwiązanie na pierwszy rzut oka wydaje się odpowiednie jednak tak nie jest. Gdy wysyłamy zapytanie do bazy danych o wybranie zawodników malejąco według zdobytych punktów serwer MySQL musi wybrać wszystkie rekordy z tabeli! To jest trochę pracy ;) Musimy wysłać zapytaniem SQL informacje o tym, że interesuje nas tylko pierwszych dziesięć wierszy - zrobimy to za pomocą klauzuli LIMIT według schematu:
SELECT nazwa_pola FROM nazwa_tabeli LIMIT wartosc
Gdzie wartosc jest ilością pól, które chcemy wyświetlić. Oczywiście klauzulę LIMIT możemy mieszać razem z klauzulami WHERE i ORDER BY, przykład:
$tresc_zapytania = 'SELECT `nazwisko`, `punkty` FROM `nba` WHERE `lata` > 5 ORDER BY `punkty` LIMIT 10'; $zapytanie = mysql_query($tresc_zapytania); if (mysql_num_rows($zapytanie) > 0) { while($wiersz = mysql_fetch_row($zapytanie)) { echo 'Gracz '.$wiersz[0].' zdobył '.$wiersz[1].' puntów(y).'; } } else echo 'Nie znaleziono żadnych graczy.';
Powyższy kod wyświetli dziesięciu zawodników, którzy grają przynajmniej już 5 lat.
Piotr Kuźmiński
szukaj: limit kurs mysql
Zagadnienia poruszane w tej części kursu:
© 2004-2008 copyright by webmade.org