![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 21.12.2007 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Witam,
chciałbym zrobić wyszukiwanie z bazy MySQL z paginacją tego wyniku. Mam zapytanie:
i numer wierszy z tego zapytania pobieram przez $rowcount = $rezult->num_rows po wykonaniu powyższego zapytania. Przeczytałem tutaj na forum, że to może i dobre rozwiązanie, ale przy małej ilości danych. Gorzej, jeżeli wynik będzie liczył np. 100 tys. lub więcej wierszy, mogę zarżnąć serwer, powinienem raczej użyć COUNT(*). Ale jak tego użyć przy moim zapytaniu, z trzech różnych tabel? Będę wdzięczny za podpowiedź. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ale jak tego użyć przy moim zapytaniu, z trzech różnych tabel? Będę wdzięczny za podpowiedź. To nei ma zadnego znaczenia ile masz JOINow. count(*) dziala tak samo. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 21.12.2007 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
A mogę prosić o podpowiedź, gdzie wcisnąć COUNT? Nie wiem, jak go użyć, żeby zliczyć wynikowe wiersze zamiast używać pełnego zapytania i num_rows? Czy mam użyć COUNT(*) czy COUNT(np. t.id?). Próbowałem się sugerować tym tematem http://forum.php.pl/index.php?showtopic=26...mp;hl=paginacja, ale nie do końca chyba rozumiem, co zlicza COUNT.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$sql = "SELECT count(t.id)
FROM tab1 AS t LEFT JOIN login AS l ON t.login_id=l.lid LEFT JOIN numery AS n ON t.id=n.id WHERE t.pstate='1'"; -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 21.12.2007 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję, już sprawdzam czy mi się uda to skleić. Właśnie zauważyłem link do stronicowania w Twojej stopce
![]() Pozdrawiam Działa super, dziękuję jeszcze raz. A proszę mi powiedzieć, czy mogę do tego dodać sumę kolumny? Czyli:
Dotychczas robiłem całe zapytanie, potem num_rows a sumę liczyłem w pętli przy wyświetlaniu. Wyświetlałem całą zawartość (tabela ma póki co jakieś 2000 wierszy), teraz przy paginacji sumę wyświetlę tylko na ostatniej stronie. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Mozesz dodac sume. A na przyszlosc mozesz tez sprawdzic zanim napiszesz
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 38 Pomógł: 0 Dołączył: 21.12.2007 Skąd: Stalowa Wola Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście sprawdziłem wcześniej, i widziałem że działa, tylko ja mam takie może dziwne podejście, że nie zawsze wierzę w to, co widzę i wolę zapytać, jeśli nie mogę znaleźć jasnej informacji. Mam do zsumowania ogólnie dwie kolumny (netto i brutto - chociaż może i lepiej będzie tylko pomnożyć netto razy 1,23 zamiast ładować to w zapytanie, bo podatek się nie zmienia) i zastanawiałem się, czy nie lepiej zrobić to osobnym zapytaniem. Dziękuję jeszcze raz za pomoc.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:00 |