![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam pytanie (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Odnośnie realizacji wyświetlania wyników wyszukiwania podzielonych na strony. Mam dwie metody, pierwsza to taka, że wynik zapytania zapisuje do obiektu, serializuje, wrzucam go do sesji a przy przejściu na następną stronę, pobieram go z sesji i wyświetlam wyniki dla tej strony. Druga to zapamiętanie poszczegónych kryteriów jako osobne zmienne sesyjne i na następnej stronie ponowienie zapytania do bazy na podstawie zapisanych kryteriów. Kryteriów wyszukiwania jest niewiele maksymalnie 5. Chciałbym zapytać czy istnieje jakiś inny sposób, może lepszy, oraz jak Wy realizujecie wyświetlanie wyników przy stronicowaniu (chodzi mi o sam sposób zapamiętywnia, mechanizm stronicowania mam zrobiony). pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zapamiętywanie stronicowania:
kiedyś w url przekazywałem parametr aktualnej strony. To jednak nie zdało egzaminu, bo gdy z grida dawałem link np. do edycji, to trzeba było ten parametr aktualnej strony również dopisywać do edycji, tylko po to żeby z edycji móc wrócić na właściwą stronę grida. Dość kłopotliwe. Teraz w sesji pamiętam dla danego grida aktualną stronę i po kłopocie. NIe muszę się bawić w żadne śmieszne linki |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Nie o to mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif)
Jak najlepiej przechowywać wyniki wyszukiwania. Czy zapamiętwyać w sesji, czy ponawiać zapytania do bazy na każdej stronie ? Bo tak naprawde to będzie ciągle to samo zapytanie. |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
hehe, nie zakumałem. U nas mamy mechanizm cache'owania i zapytania cache'ujemy. Działa bez zarzutu.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 0 Dołączył: 4.03.2005 Skąd: Jaworzno Ostrzeżenie: (0%) ![]() ![]() |
Ja przekazuje wyniki do metody klasy i tam zachodzi proces liczenia/szatkowania/przygotowywania elementów do danego numerka strony. Numerek ten przekazuje metodą get w adresie - jesli przechowasz nr newsa w sesji, to nie mozesz np odoac strony do ulubionych, a przy okazji zasmiecasz serwer.
|
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
@_Mateo: czyli wykonujesz zapytanie raz i tworzysz wszystkie strony od razu ? A jak zapamiętujesz to co klasa stworzy ?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 0 Dołączył: 21.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
@_Mateo: Czy zasysanie wszystkiego z bazy jest dobrym pomyslem?? A co jesli ktos ma gigantyczna baze gdzie jest klkaset tysiecy pozycji (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Raz dupłem zmienna i poszedl select na wszystko fox sie powiesil (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ja osobiscie nie odwazyl bym sie czegos takiego zrobic na bazie na ktorej pracuje. Poprostu serwer by nie dal rady jesli by zaczeli wszyscy zadawac takie zapytanie. Ja daje jak najmniejsze zapytania ( przez np. "not in ( select top ..." ) Bynajmniej jak dla mnie - stronnicowanie wynikow powinno przedewszystkim odciazac serwer, i jak najbardziej ograniczac zapytania, a zmienne przez GET'a przerzucam.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.09.2025 - 08:23 |