Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sposoby stronicowania wyników
marcini82
post 15.03.2006, 08:46:59
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
 
Start new topic
Odpowiedzi (1 - 4)
nospor
post 15.03.2006, 08:48:14
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... smile.gif
pozatym w dziale algorytmy, klasy, funkcje masz kilka klas do stronicowania


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
LBO
post 15.03.2006, 12:11:13
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 17.03.2006, 07:32:19
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 17.03.2006, 11:53:13
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, 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
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:39