Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ilosc rekordow mimo uzycia LIMIT
Forum PHP.pl > Forum > Bazy danych > MySQL
maciejkiner
Witam

Mam pytanie (szukalem na forum i googlach, ale nie znalazlem odpowiedzi) - czy jest mozliwe wyciagniecie informacji o ogolnej liczbe rekordow spelniajacych dane zapytanie mimo uzycia LIMITU? Zalozmy, ze mam zapytanie typu:

  1. SELECT * FROM tab1 WHERE kol1=x AND kol2=y AND kol3=z ORDER BY kol1 ASC LIMIT 30, 15


Wiadomo, ze to zwroci 15 rekordow (lub mniej winksmiley.jpg ), ale czy jest mozliwe wyciagniecie w prosty sposob informacji o ogolnej liczbie rekordow spelniajacych warunek WHERE? Potrzebne jest mi to do systemu stronicowania - niestety baza na ktorej operuje jest dosyc spora i szkoda czasu na wydawania najpierw COUNTa z tym WHEREm, a pozniej jeszcze raz normalnego SELECTA. Ograniczanie wynikow po stronie PHP tez raczej nie wchodzi w gre.

pzdr
maciejkiner
Grzyw
Jest funkcja, dzięki której osiągniesz dokładnie zamierzony efekt.

Polecenie SQL ma nazwę: SQL_CALC_FOUND_ROWS, wykorzystane z funkcją FOUND_ROWS().

Tu w manualu jest objaśnienie:
http://dev.mysql.com/doc/refman/5.0/en/inf...tion_found-rows
maciejkiner
Witam

No wlasnie mialem namierzona FOUND_ROWS(), ale nie moglem znalezc sampla jak to uzyc - dzieki za linka, juz dziala smile.gif

pzdr
maciejkiner
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.