![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
robię zapytanie w php do bazy
$rezult = mysql_query(tu zapytanie np where kot =' filemon' ) teraz chcę pobrać ilość wyników $ile = mysql_num_rows($rezult) ta wartość $ile jest mi bardzo potrzebna do ustalenia ile będzie stron wyników. Ale teraz chciałbym aby w $rezult znalazły się tylko wyniki od 1 do 10 (dla where kot='filemon') normalnie to bym użył w zapytaniu limit ale jak zaznaczyłem najpierw potrzebna mi jest całkowita ilość 'filemonów' występujących w bazie. a potem tylko wyniki od 1 do 10 , 11-20 itd czy można to zrobić tak, aby nie musieć jeszcze raz przeszukiwać bazy (z poleceniem limit np limit 10,20)(szkoda czasu ) przecież wyniki już mam, więc jak pobrać tylko te np od 10 do 20 dla następnej strony wyświetleń. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Tak czy siak, gdzieś te wyniki musisz przechować. Możesz to oczywiście zrobić w sesji i pobierać tylko tę część (10-20), która ci bedzie potrzebna. Nie wiem jednak czy opłaca się robić takie kombinacje alpejskie.
Ja to robie tak, że robię dwa wyszukiwania o tym samym where, przy czym jedno zlicza znalezione rekordy, a drugie wyświetla dane i ma LIMIT. Na każdej stronie wyników, żeby nie komplikować, jest tak samo. -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 30.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak jak mówisz, jednak baza ma mieć docelowo ok 3000 wierszy po 40 kolumn.
więc powtórne wyszukiwanie wydaje mi się dosyć obciążającym elementem, szczególnie jeżeli skrypt może byc wywołany w danym momencie wiele razy (strona główna) . Z phpi sql mam doczynienia od jakiegoś tygodnia, więc może się mylę. Na razie baza rekorów ma tylko kilkaset więc jest ok...Zastanawiam się co bedzie później... Może ktoś powie coś więcej na temat wydajności php i sql, bo mam o tym nikłe pojęcie. Dzięki za odpowiedź. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 0 Dołączył: 10.03.2004 Skąd: K-ce Ostrzeżenie: (50%) ![]() ![]() |
jak liczysz rekordy uzywaj count(*) jest wydajniesze
-------------------- "Dla mnie SCHRANZ nigdy nie byl nazwą stulu muzycznego.A raczej określeniem przesterowaniem dzwięków. Czy nawet halasu... Sądzę, że wyroslo nowe pokolenie. które nie chce się identyfikować z techno z trance" - Chris Liebing
www.netklinik. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 10:04 |