Post
#101
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
info
pobierz Hejka, prezentuję klasę Pager. Umożliwia ona wygenerowanie pager'a oraz pobranie aktualnych indexów rekordów. Użycie jest proste:
Polączenie pagera z pobieraniem rekordów z bazy:
(edit: te przyklady od wersji 2.5 troche inaczej beda wygladac. poprawne kody w paczce) W podanym przykladzie brakuje oczywiscie sprawdzania, czy dane zapytanie wykonalo sie poprawnie itp. Nie podawałem tego jednak po to, by nie zaciemniać kodu. Klasa generuje unikalne dla każdego pagera (poprzez idPager'a) zmienne, dzięki czemu na stronie może byc kilka pagerów do różnych tabel. Dodatkow, jesli korzystacie z sesji, klasa pamieta strony w sesji, dzięki czemu nie tracone są informacje o aktualnej stronie przy odwiedzaniu innych linków Klasa ma 3 sposoby przechodzenia do kolejnych stron: 1) generuje własny wewnetrzny formularz i go submituje Konstruktor tylko z pierwszym argumentem 2) korzysta z zewnetrznego formularza i musi byc w nim zawarta Konstruktor z pierwszym i trzecim argumentem. Jako trzeci argument należy podać idFormularza zawnętrznego 3) poprzez linki. Należy wówczas określić drugi parametr w konstruktorze, który będzie linkiem podstawowym. Do niego dodany będzie parametr odnosnie strony. Ten sposób generuje ogólne zmienne dla pagera, przez co lepiej żeby dla niego na stronie byl tylko jeden pager. Sposób ten może być wykorzystywany przy wyszukiwarkach. To chyba wszystko. Wszelkiego rodzaju uwagi, sugestie bądź wynalezione błędy proszę zgłaszać. Wysłucham każdej (IMG:style_emoticons/default/smile.gif) Aha, sposób implemetncji klasy dostosowany do php4. Klasa nie korzysta z żadnych dziwnych funkcji, więc można łatwo dostosować ją do php5. Należy tylko metody i zmienne deklarować w sposób odpowiedni dla php5. Wszystkie metody i zmienne zaczynajace się na podkreslenie (_) oznaczają, iż są to metody i zmienne prywatne. A oto przykladowy widok pager'a: Cytat |< << < 21 22 23 24 25 26 27 28 29 30 z 200 > >> >| oczywiscie wszystko to linki oprócz aktualnej strony. Pager jest łatwo konfigurowalny. MOżecie sami okreslic liczbe rekordów na stronie, liczbę stron w pagerze itp. A pozatym niech wam dobrze służy (IMG:style_emoticons/default/smile.gif) edit (2006-04-03) W związku z licznymi uwagami, by klasa nie generowala linkow co x, tylko pare linków przed stroną i parę linków po, wprowadzilem lekkie modyfikacje. Sposób uzywania klasy nie uległ zmianie (jest kompatybilna wstecz (IMG:style_emoticons/default/smile.gif) ). Chcąc użyc nowej metody generowania linków, wystarczy wywołać metodę render() z parametrem true:
Mam nadzieję, że w ten sposób usatysfakcjonowałem parę osób (IMG:style_emoticons/default/winksmiley.jpg) edit (2006-06-13) Dawno nic nie pisalem. Czas zmienic. A wiec jest wersja 2.0 Główne zmiany: 1) odejscie od przesylania pagera formularzem 2) zapisywanie Pagera do tablicy, z której mozna samemu wygenerowac kod html Pager'a 3) PLucie wyjatkami (IMG:style_emoticons/default/smile.gif) 4) no i obecna wersja jest pod php5. Niedlugo dorobie tez wersje pod php4. Zapraszam do sciagania i testowania. W paczce jest kilka przykaldow, min. jak nalezy doczepic generowanie wlasnego kodu html. Jesli zrobicie swoja funkcje generujaca kod html i bedziecie chcieli sie nia podzielic, wyslijcie mi a ja upublikuje wersje demo z wasza funkcja i wygladem pagera. edit: 2.0 jest juz i pod php4 edit (2006-08-22) Wersja 2.01: - dorobilem na szybko ten link. teraz w konstruktorze, jesli podamy drugi parametr i bedzie w nim ciag: #PAGE# to link ten zostanie niezmieniony, czyli bedzie tak jak user podal, za wyjatkiem #PAGE#, ktore zostanie zamienione na numer strony Czyli dla przykladu co podal AxZx powinno byc:
- metoda Render moze zwracac teraz tablicę pagera zamiast kodu html. Należy ustawic na true jej trzeci parametr edit (2007-07-26) Wersja 2.5. Więcej info tu: http://nospor.pl/pager-2.5.html |
|
|
|
nospor Pager (stronicowanie) 15.09.2005, 09:18:52
emi23o9 Witam!
Mam pewien problemik. Dalaczajac pag... 22.01.2007, 17:29:35
AxZx napisz co masz w linii 38 pliku pager.class.php 22.01.2007, 17:33:02
emi23o9 const _GOTO_FIRST_ = 'gtf';
praktycznie j... 22.01.2007, 17:35:16
nospor jak na moj gust to ty uzywasz klasy napisanej dla ... 22.01.2007, 18:35:43
emi23o9 ajjjj.... sorka, moj blad.... wstyd i hanba, p... 22.01.2007, 19:18:03
primo Możliwe, że o to co chcę zapytać już było w tym te... 24.02.2007, 23:40:22
nospor musisz wywolac konstruktor z drugim parametrem, u ... 26.02.2007, 09:11:00
Maksymus007 a ja chyba znalazłem błąd, a może i nie
[PHP] pobi... 11.03.2007, 10:12:53
nospor hehe, faktycznie, tak to jest jak sie robi ctrl+c,... 11.03.2007, 11:40:56
Maksymus007 Dalej bawiłem się Twoja klasa i brakowało mi w nie... 10.04.2007, 21:50:47
nospor CytatDalej bawiłem się Twoja klasa i bra... 11.04.2007, 07:59:39
Maksymus007 To wiem, ale nie o to mi chodzilo W tym co podałe... 11.04.2007, 13:39:45
nospor No faktycznie ciut inaczej. Tak czy siak w "n... 11.04.2007, 13:49:43
microh Mam pytanko odnośnie funkcji createLink
[PHP] pob... 5.05.2007, 13:28:52
my salsa eh czytaj dwa posty wyżej, post nospor`a 5.05.2007, 13:52:51
agnieszka87 Prośba do ludzi dobrej woli
Przeróbcie mi poni... 12.05.2007, 20:50:22
microh A ja mam jakiś dziwny problem.
Konstruktor wywołał... 19.05.2007, 10:09:35
Balon Cytato jeszcze pager startuje czasem od 3 strony.
... 19.05.2007, 10:30:31
nospor CytatTo jeszcze pager startuje czasem od 3 strony.... 21.05.2007, 09:52:28
Guli Uzyłem tę klasę na swojej stronie ale coś nie dzia... 24.05.2007, 11:40:18
Balon hm Ty nie rozumiesz chyba jakiej zasadzie dzia... 24.05.2007, 11:48:37
nospor No ale przeciez klasa ci nie podzieli pliku. Skad ... 26.07.2007, 11:49:36
acztery jak dla mnie 1 klasa. Znakomita robota. Tylko brak... 14.08.2007, 19:28:51
nospor CytatIlość wszystkich rekordówhmmm, bylo tak? Juz ... 20.08.2007, 17:27:20
acztery ok napisałem sobie, ale znalazłem 1 mały błąd chyb... 20.08.2007, 20:27:36
nospor Cytatale cos nie nie tak po przejscu dalej zmienna... 21.08.2007, 07:16:11
become czy przy pomocy tej klasy ustawie stronicowanie ta... 23.12.2007, 01:48:57
Cysiaczek Dziwne pytanie zadajesz... ale tak - ustawisz, cho... 23.12.2007, 02:20:07 
become Cytat(Cysiaczek @ 23.12.2007, 02:20:0... 29.12.2007, 17:33:13
kallosz Witam
Jest może możliwośc załączenia klasy pager ... 23.12.2007, 12:23:58
nospor Cytatczy przy pomocy tej klasy ustawie stronicowan... 24.12.2007, 15:53:58
radziowi Witam bardzo dziękuję za klase dzia... 26.12.2007, 13:36:33
Cysiaczek Akurat jakiś czas temu przerobiłem metod... 29.12.2007, 17:52:37
nospor CytatMam jednak dziwny zachowanie klasy. Za kazdym... 30.12.2007, 12:30:30
pawel.s witajcie mam problem nie chce wyswietlic mi sie pa... 27.01.2008, 22:03:15
vokiel może przez literówkę w template: e => a
[HTML] ... 28.01.2008, 09:24:06
pawel.s nie to nie przez to wogole jak zrobie vardump z ... 28.01.2008, 14:29:27
nospor A jakiej wersji pagera uzywasz? Najnowszej 2.5 ? N... 28.01.2008, 14:39:05
pawel.s wersja 2.0 dla php5 takiej uzywam co jest nie tak 28.01.2008, 16:17:24
nospor [PHP] pobierz, plaintext <?php$pager->SetTot... 28.01.2008, 20:32:18
pawel.s hej, oki wyswietlil mi sie poprawnie pager
dalem ... 29.01.2008, 18:27:05
nospor Cytatco dalej robic...odpowiem ci jak maszyna: zap... 29.01.2008, 21:17:19
pawel.s jak chce wyswitlic kolejne 3 rekordy to pojawia mi... 29.01.2008, 21:40:17
nospor normalnie masz jakies kosmiczne problemy.
Pokaza c... 29.01.2008, 21:55:17
pawel.s oto moj kod :
[PHP] pobierz, plaintext <?phpswi... 30.01.2008, 17:15:33
nospor CytatNotice: Undefined variable: do in ....A widzi... 30.01.2008, 19:15:47
pawel.s nie moge kurcze tego rozgrysc w linku mam /_admin/... 30.01.2008, 20:24:39
Legro Cześć @nospor
Korzystam z Twojej klasy ... 22.04.2008, 18:20:59
aasat Super robota, świetna klasa, podziękowania dla aut... 4.10.2008, 19:49:13
nospor CytatCzy jest jakiś sposób na niceurl? bo widze w ... 6.10.2008, 10:02:12
piraciq Witam
ja zapodałem tą klasę do joomli i spisuje s... 17.10.2008, 09:24:31
aasat Niceurl można bardzo łatwo utworzyć
np chcemy aby... 16.12.2008, 23:42:41
szumigt Witam. Właśnie próbuję zastosowa... 19.02.2009, 17:51:35
nospor CytatKod ma jeszcze małą niedogodność w postaci st... 19.02.2009, 21:35:03 
szumigt Uuuooo matko jaka pierdoła ze mnie. Już poprawiłem... 20.02.2009, 15:29:04
nospor CytatChociaż nie wiem czemu klasa Pager nie ustawi... 20.02.2009, 19:23:34
nieraczek Mogę się zapytać po co używasz... 27.02.2009, 17:57:12
nospor CytatMogę się zapytać po co u... 27.02.2009, 19:40:49
nieraczek Dzięki - a nawiasem mówiąc - dopiero teraz zwrócił... 27.02.2009, 22:21:27
nospor Cytati na to, że trzeba tu podać liczb... 27.02.2009, 22:57:39
nieraczek O dzięki za info 28.02.2009, 09:03:10
pianta_d Witam
Mam problem z sortowaniem po dwóch kolumnac... 6.07.2009, 07:11:07
hondek Witam!
Mam taki problem z klasa Pager:
kiedy p... 6.07.2009, 12:38:06
nospor a jak wyswietlasz linki pagera? Sam cos jeszcze ge... 14.07.2009, 06:59:31
hondek nie, poprostu <?=$pag?>
jedyna rzecz j... 15.07.2009, 15:48:54
nospor Cytatjedyna rzecz jaka zmienilem w klasie to znak ... 16.07.2009, 07:11:22
tomall Witam
Czytam i czytam i znaleźć nie mogę.
Jak wyc... 7.05.2010, 17:21:15
nospor Metoda Make() zwraca ci tablice. Czytaj komentarze... 8.05.2010, 19:32:19
limonides a ja mam takie zapytanie
mam plik ciekawostki.php... 3.08.2010, 13:30:27
nospor Wszystko masz w komentarzach
Cytat/**
* Konstruk... 3.08.2010, 13:41:31
limonides dzieki wielkieee 5.08.2010, 10:02:10
mwolodzko Witam,
Mój problem polega na tym, że za cholery ni... 12.08.2010, 11:18:54
nospor 1) Coś dużo choler ci się w tekst wcina.
2) I gdzi... 12.08.2010, 17:44:36
mwolodzko Konkretnie mój problem polega na tym, że trzeba d... 13.08.2010, 08:19:25
nospor No to pokaż jak dodajesz. 13.08.2010, 08:32:45
mwolodzko Np tak:
[PHP] pobierz, plaintext <script type=... 16.08.2010, 10:39:59
nospor Słuchaj... piszesz że masz problem z moim pagerem ... 16.08.2010, 10:49:04
mwolodzko Ok, mój błąd znalazłem temat w google tytul tematu... 16.08.2010, 11:00:07
edwarpan Coś mi nie działa.
[PHP] pobierz, plaintext <?p... 25.08.2010, 16:29:07
nospor CytatCoś mi nie działa.To coś napraw.....
Czy ta... 25.08.2010, 18:03:40
northwest Witam serdecznie,
cosik nie chce mi zadziałać ta k... 30.11.2010, 12:39:44
nospor zrob print_r($_GET); gdy bedziesz na jakiejs ... 30.11.2010, 12:51:05
northwest [PHP] pobierz, plaintext Array ( [gt_id... 30.11.2010, 13:01:52
nospor Nie, stalych sie nie zmienia!
To masz zmieni... 30.11.2010, 13:15:17
northwest działa, dzięki wielkie:)))
ps. gdybym chciał osty... 30.11.2010, 13:21:50
nospor 1) Albo odbierz tablicę pagera i rob z nią co chce... 30.11.2010, 13:31:02
northwest echo "<b>".$pag ."</b... 30.11.2010, 14:15:53
nospor Cytatnie da się tego jakoś prościej zrobić?
Nie.
... 30.11.2010, 14:21:03
northwest zrobiłem sobie takie coś (walcze z klasą):
[PHP] p... 30.11.2010, 14:57:41
nospor Cytatw którym miejscu podmienić aktualny numerek (... 30.11.2010, 15:00:12
northwest generalnie chciałbym efekt taki uzyskać:
[HTML] po... 30.11.2010, 15:23:30
nospor No ale po co tworzysz metode createHTMLLink2? Powi... 30.11.2010, 20:08:29
northwest zadziałało, dzięki WIELKIE )) 30.11.2010, 23:40:47
Ziom73 Mi wywala:
KodFatal error: Uncaught exception ... 7.02.2011, 19:46:26
nospor Przeczytałeś chociaż komunikat błędu?
Zjadłeś wywo... 8.02.2011, 07:11:04
Ziom73 Dzięki. Trochę przerobiłem to i działa. Mogłeś bar... 13.02.2011, 23:26:19
br0nks Witam,
fajna sprawa z tym:) aczkolwiek mam pewien... 27.02.2011, 22:54:44
nospor Skoro piszesz w temacie, o mojej klasie Pager, to ... 28.02.2011, 07:15:48
br0nks korzystam:)
ten kod sluzy mi tylko do wyświetlani... 28.02.2011, 10:01:49
nospor No to pokaż kod, co do którego masz pytanie i któr... 28.02.2011, 10:16:31 ![]() ![]() |
|
Aktualny czas: 7.01.2026 - 08:51 |