![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 1 Dołączył: 6.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pomysłu jak napisać pager.
Problem polega na tym, ze gdy skieruje zapytanie sql do bazy z klauzlą LIMIT np. 40, 70 to nie wiem ile tak naprawdę rekordów mam całej tabelce, a pod wyświetlonymi wynikami przydałoby się wypisać pokolei linki do kolejnych stron: 1,2,3,4,5 ale jak je moge wypisać skoro nie wiem ile rzeczywiście rekordów mam w tabelce? Moge wydobyć liczbe wierszy za pomocą drugiego zapytania SELECT COUNT(ID) FROM tablename ale to jest już kosztowna operacja... Bez liczby wszystkich wierszy nie moge wypisac na dole ile jest stron, z kolei zliczenie ich nie jest możliwe bez wybrania całosci. Moge zrobic SELECT na wszystkim bez LIMITu, i robić paging w php ale to mija się z celem. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 790 Pomógł: 7 Dołączył: 6.02.2003 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
@normanos: ja robiłem testy na bazie dużo mniejszej, ale za to prawdziwej, a nie generowanej. I SQL_CALC_FOUND_ROWS było szybsze.
Zresztą wiele zależy od wersji MySQL. W starszych wersjach było dużo gorzej. Jednak z tego co wyczytałem w ticketach zostało to poprawione. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 21:53 |