![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Moderatorzy Postów: 36 557 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 |
|
|
![]() |
![]()
Post
#201
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
i caly czas chodzi o to co wyzej:) ze gdy mam index.php?s=0 to wzsystko jest tak jak aktualnie w bazie, a gdy klikne na index.php?s=1 to pokazuja mi sie rekordy nie kolejne, tylko jeszcze kolejne, czyli omija jedna 15nastke... i pod s=1 mam to co POWINNO byc pod s=2. a pod s=0 to co pod s=1 winno byc:) i chcialbym aby index.php?s=0 bylo tym index.php?s=1 a nie idzie tego zrobic :/ jasniej chyba sie nie da ;p |
|
|
![]()
Post
#202
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przecież pierwszy kod który pokazałeś w poście wyżej nie ma żadnego związku z moim pagerem.
Drugi zaś kod co pokazałeś jest moim kodem na żywca skopiowanym z przykładu. NIgdzie nie podpiąłeś mojego pagera u siebie więc naprawdę nie wiem skąd te pytania, że coś nie działa, skoro nigdzie nie podpiąłeś mojego pagera |
|
|
![]()
Post
#203
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
teraz to ja nie rozumiem (IMG:style_emoticons/default/biggrin.gif) hahahaha
ten 2gi kod to nie Twoj pager? bo wsumie to juz sam nie rozumiem.. no to jak mam zrobic, zeby ten moj 1 kod, ktory wyswietla newsy, zastapic Twoim? bo nie widze nic, co bym mogl zrobic, z Tych Twoich plikow.. sora, ale naprwde nie kumam ocb w tym pagerze:) jakies rozwiazanie? pomoc? ps: mam tylko w mojej tabeli: id, ile, text newsy moje potrzebuja tylko id i text, a widze, ze u CIebie jest jeszcze jakeis sortowanie.. kurde nie kminie tego ;p EDIT: Hm.. chyba sobie z tym poradzilem:) teraz sprawdze kilka rzeczy, czy da rade tak jak ja to widze, i dam tu znac:) EDIT2: no i wsyzstko smiga, ale strna wyglada jakby wolniej dzialala... i zostaje tylko juz jedno... jak zrobic aby zamiast >| byl numer ostatniej strony? i czy mozna tak zrobic ta nawigacje aby wygladala tak: http://woork.blogspot.com/2008/03/perfect-...-using-css.html lub tak: http://www.thewebhelp.com/css/pagination-style-template/? pozdrawiam:) Ten post edytował br0nks 28.02.2011, 18:40:25 |
|
|
![]()
Post
#204
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat i zostaje tylko juz jedno... jak zrobic aby zamiast >| byl numer ostatniej strony? Oczywiście, że można. Na wiele sposobów.i czy mozna tak zrobic ta nawigacje aby wygladala tak: http://woork.blogspot.com/2008/03/perfect-...-using-css.html lub tak: http://www.thewebhelp.com/css/pagination-style-template/? Możesz napisać funkcję generującą kod pagera, możesz przekazać funkcję generującą kod pagera, możesz pobrać tablicę pagera i sam wygenerować dla niej kod. Wszystko masz w przykładach w paczce |
|
|
![]()
Post
#205
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
sweitnie, nie pomogles mi w niczym o co pytalem.. dzieki wielkie.
|
|
|
![]()
Post
#206
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#207
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem co się stało, ale nagle z dnia na dzień, przestał działać...a nie zmieniałem nic od miesiąca na stronie...
Kod Parse error: syntax error, unexpected '{' in /index.php on line 316 a 316 linijka index.php wygląda tak: Kod try{ a całe zapytanie tak:
lub jeżeli usunę całe to zapytanie, to wyskakuje kolejny błąd:
a 34 linijka Pager.class.php wygląda tak: Kod const GOTO_FIRST = 'gtf'; i o co tu chodzi to nie mam pojęcia...a nawet nic nie zmieniałem od kiedy wszystko dobrze działało.. |
|
|
![]()
Post
#208
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Odpalsz skrypt napisany w php5 na php4.
Skoro nagle ci przestało działać to zapewne zmienił ci się php (IMG:style_emoticons/default/smile.gif) NIe masz przypadkiem hostingu w 1and1? Tam na dniach właśnie zrobili downgrade z php5 na php4 i kupie ludzi przestały działać aplikacje (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#209
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
dokładnie tam mam hosta..
i co teraz mam zrobić z tym fantem? (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#210
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 28.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
a w ogole jaki cel jest takiego downgrade?
|
|
|
![]()
Post
#211
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może rozszerzenie *.php5?
Ale jak wywalili php5 to zmiana dostawcy :| |
|
|
![]()
Post
#212
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Może rozszerzenie *.php5? dokładnie tak. gra gitarka teraz (IMG:style_emoticons/default/guitar.gif) dzieki (IMG:style_emoticons/default/rolleyes.gif) |
|
|
![]()
Post
#213
|
|
Grupa: Zarejestrowani Postów: 455 Pomógł: 49 Dołączył: 12.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Proszę bardzo.
|
|
|
![]()
Post
#214
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
a nie da się jakoś zrobić aby nie wpisywać rozszerzenia .php5 tylko aby było ,php a żeby plik sam rozpoznał ze to php5?
np żeby coś dopisać na początku pliku .php? edit: na 1and1.pl zadziałało, do .htaccess: Kod AddType application/x-httpd-php5 .php5 gdyby ktoś potrzebował(IMG:style_emoticons/default/smile.gif) Ten post edytował br0nks 28.04.2011, 22:47:51 |
|
|
![]()
Post
#215
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze zdefiniowanym linkiem
Paginacja jest tworzona, ale nie zmieniają się linki w niej po przejściu na kolejne strony Ps. Już sobie poradziłem drobna modyfikacja aby nie patrzeć na geta, a na parametr przekazywany Ten post edytował lobopol 11.05.2011, 16:53:02 |
|
|
![]()
Post
#216
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
Witam serdecznie,
mam taki kod:
linki mam w takiej formie: mojanazwa.pl/cars/komis/page/1 , mojanazwa.pl/cars/komis/page/2 itp... Menu wyświetla mi się poprawnie, tylko jak kliknę na jakąś stronę, to nie zaznacza się poprawna wartość na tej paginacji (IMG:style_emoticons/default/sad.gif) np mam : 1,2,3,4,5,6 - klikam na 4, strona się przaładowywuje ale dalej mam zaznaczoną 1 (IMG:style_emoticons/default/sad.gif) Wie ktoś może dlaczego? northwest |
|
|
![]()
Post
#217
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No ale w $_GET Twój ruter ustawia index page?
Zrób print_r($_GET); zapewne go tam nie ma. Jeśli nie ma to ty będziesz musiał ręcznie dla pagera ustawiać stronę. |
|
|
![]()
Post
#218
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
tablica jest pusta (IMG:style_emoticons/default/sad.gif)
Jak ręcznie wstawić pozycję? zamiast #PAGE dać wartość "ręcznie"? zmieniłem na próbę na coś takiego: $pager = new Pager('', "$url/cars/komis/page/3"); i teraz linki są w formie: http://localhost/cars/komis/page/3?pp=4 http://localhost/cars/komis/page/3?pp=7 http://localhost/cars/komis/page/3?pp=5 i zaznacza poprawnie... tylko te zmienne są na końcu, a chciałbym żeby były po "page"... wiesz może dlaczego tak jest? |
|
|
![]()
Post
#219
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie, masz zostawić wszystko jak było, nic nie kombinuj.
Powiedzialem, że musisz jedynie ręcznie ustawić aktualną strone a ty to źle zrozumiałeś. Masz zrobić tak:
|
|
|
![]()
Post
#220
|
|
Grupa: Zarejestrowani Postów: 788 Pomógł: 1 Dołączył: 17.09.2004 Ostrzeżenie: (10%) ![]() ![]() |
zrobiłem tak jak mówiłeś:
gdzie $webid['4'] zawiera aktualny numer strony i nie działa.... zaznacza uparcie 4 strone.... bez względu co wybiore:/ |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 00:02 |