Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [klasa]Page navigator
Forum PHP.pl > Forum > Gotowe rozwiązania > Algorytmy, klasy, funkcje
Moli
Czyli klasa do zarządzania stronami. Kod klasy:
http://phpfi.com/298295
a tu prosty przykład użycia (pobranie danych z bazy)
http://phpfi.com/298296

Przykład
Jeśli będziemy mieli 100 stron a będziemy na np. 50 linki będą wyglądąły tak
Kod
1 2 3 ... 47 48 49 50 51 52 53 ... 98 99 100


Teraz małe objaśnienie
- W konstruktorze podajemy ilośc wszystkich wpisów, ilość wpisów na jednej stronie i numer aktualnej strony na której jesteśmy.
- W metodzie format, podajemy tablice z takimi elementami
-- link - Format linku, w miejsce numeru strony daje #PAGE# (przyklad. www.nazwa.pl/forum/strona/#PAGE#/)
-- current - Jak ma wyglądać aktualnie wlaczona strona, jako numerek podajemy %s (np. <b>%s</b>)
-- numer - Nazwa klasy dla numerków
-- previous - Nazwa klasa dla linku wstecz
-- next - Nazwa klasa dla linu dalej
-- separator - Czyli znak/znaki oddzielające liczby (np. ...)
- Metoda start zwraca ID pierwszego wpisu na danej stronie
- Metoda end zwraca ID ostatniego wpisu na danej stronie
- Metoda previous zwraca link do poprzedniej strony
- Metoda links zwraca numerki stron
- Metoda next zwraca link do następnego wpisu.

Klasa specjalnie zwraca linki a nie wyświetla, aby można było ladnie przekazać je z kontrolera do widoku.

Proszę o oceny smile.gif Pozdrawiam.
NuLL
W czym to jest lepsze od klasy nospora ?
Moli
Powiem szczerze że nie przyglądałem się nigdy klasie Nospora, więc nie wiem jakie ma funkcje. Klase pisałem dla siebie, ale że jest mała i łatwo konfigurowalna to może komuś też się przyda smile.gif
MajareQ
pokażesz gdzieś gdzie to zastosowałeś?
lolek92
Przerobiłem skrypt na bazę txt, może się komuś przyda:

Plik navigator.php:
http://phpfi.com/347495

Plik z przykładową bazą txt przyklad_txt.txt:
http://phpfi.com/347496

Plik index.php - wyświetlanie wyników:
http://phpfi.com/347497

W pliku index.php należy zmienić do swoich potrzeb:
$bazafile = file("przyklad_txt.txt"); - zmienić "przyklad_txt.txt" na adres do pliku z baza txt
$ile = 10; - zmienić "10" na liczbę ilości wyników na stronie

Reszty nie będę tłumaczył, ponieważ nic więcej nie zmieniałem, chyba że ten kod:

  1. <?php
  2. /// Wys z bazy
  3. for($x=0;$x<=$ilewbayie;$x++){
  4. $pexp[$x] = explode("|&|&|", $bazafile[$x]);
  5. if($x>=$p->start() and $x<$p->end()){
  6. echo $pexp[$x][0] . ' - ' . $pexp[$x][1] . '<br />' ;
  7. }
  8. }
  9. ?>


a dokładniej w explode() separator "|&|&|" na inny, no i oczywiście wyświetlanie.

Pozdrawiam mam nadzieje że się komuś przyda, ponieważ ja tego długo szukałem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.