Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sposoby stronicowania wyników
marcini82
post
Post #1





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witam!

Zastanawiam sie nad sposobem stronicowania wyników, np. dla systemu newsow czy innego rodzaju ogloszen.

W zasadzie przychodza mi do glowy 2 sposoby:

1. Mam klase odpowiedzialna. mi.in. za pobieranie newsow z bazy i zwracanie w tablicy. Mozna by zaimplementowac tutaj pobieranie tylko wybranego zakresu wierszy i potem zadbac o odpowiednie wyswietlenie tego na stronach. Rozwiazanie jest bardziej skomplikowane i latwiej sie mozna "zakopac", ale za to ilosc danych wyciagana z bazy o obrabiana jest stosunkowo niewielka.

2. Mozna tez pozwolic tej klasie na pobranie wszystkich wierszy z bazy, a potem zrobic stronicowanie za pomoca gotowej klasy, np. Pear Pager, i wyswietlic tylko wiersze z aktualnej strony. Ale zastanawiam sie, czy nie bedzie to zbyt wielki narzut niepotrzebnych w danej chwili danych i zbyt duza strata na wydajnosci. Bo wiekszosc pobranych z bazy danych i tak nie zostanie wyswietlona.

Zastanawia mnie, jaki sposob preferuja szanowni Forumowicze? Co sie lepiej sprawdza w praktyce?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




wpisz se do wyszukiwarki forum stronicowanie, a będziesz wiedzial, jak to sie robi... (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
pozatym w dziale algorytmy, klasy, funkcje masz kilka klas do stronicowania
Go to the top of the page
+Quote Post
LBO
post
Post #3





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
2. Mozna tez pozwolic tej klasie na pobranie wszystkich wierszy z bazy, a potem zrobic stronicowanie za pomoca gotowej klasy, np. Pear Pager, i wyswietlic tylko wiersze z aktualnej strony. Ale zastanawiam sie, czy nie bedzie to zbyt wielki narzut niepotrzebnych w danej chwili danych i zbyt duza strata na wydajnosci. Bo wiekszosc pobranych z bazy danych i tak nie zostanie wyswietlona.

nigdy tak nie rob... przy wiekszych bazach danych to mocno spowalnia skrypt... po to na przyklad w SQL jest LIMIT.. wszelkie operacje a w szczegolnosci na bazach danych nazley optymalizowac (przyspieszac)
Go to the top of the page
+Quote Post
marcini82
post
Post #4





Grupa: Zarejestrowani
Postów: 190
Pomógł: 1
Dołączył: 20.05.2005
Skąd: Poznań

Ostrzeżenie: (0%)
-----


No cos w tym rodzaju podpowiadala mi tez intuicja...

Ale w takim razie przydatnosc klas takich jak Pear Pager jest dla mnie mocno watpliwa. No chyba ze w zastosowaniach nie zwiazanych z bazami danych. Ale do czego w takim razie? Moze stronicowanie danych z XML... Nie wiem.
Go to the top of the page
+Quote Post
LBO
post
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


z XMLem jest klopot... znam systemy (hehe, (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) moze przzesadzilem z nazwaniem tego systemem) gdzie pliki z danymi sa dzielone (np po 1000 unique wpisow) + plus config z ich indexem... wtedy mozna sie bawic z wczytywaniem calego pliku (choc to niestty i tak bardzo nieefektywne).. ewentualnie XML parser uzyc (nie wczytuje pliku w calosci tylko leci wraz z pointerem) jednak przy duzych XMLowych bazach to tez klopot... chmmm, najlepszym rozwiazaniem sa dedykowane database'y i tyle.. cheers
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 01:04