Pager (stronicowanie), klasa, php4 i php5 |
Pager (stronicowanie), klasa, php4 i php5 |
19.03.2006, 13:04:30
Post
#41
|
|
Grupa: Zarejestrowani Postów: 197 Pomógł: 0 Dołączył: 11.07.2005 Ostrzeżenie: (0%) |
NIe wiem czy ktoś zauważył ale w 128 lini jest literówka (brak znaku dolara "$" przed zmienną pon) przez którą cała klasa się sypie bo wyświetlany jest błąd
Kod Error: Division by zero czy jakoś tak . Poprawna linia 128:
-------------------- |
|
|
19.03.2006, 15:44:25
Post
#42
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
@legro w pierwszym poscie masz co i jak...
@Levabul wielkie dzięki nie wiem skąd ta literowka sie tam wytrzasnęła -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
19.03.2006, 16:48:58
Post
#43
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 3 Dołączył: 18.07.2005 Ostrzeżenie: (40%) |
@nospor - wielkie dzięki.. Działa wszystko ok, wyświetla się lista:
1 2 3 > Ale jak chce kliknac na 2 to nic sie nie robi... Na pasku statusu pisze tylko jak najade na cyferke 2: java script:sub_function_1(2); I nie da sie przejsc na druga strone wynikow :/ ------------ EDIT Już wiem dlaczego tak sie dzieje.. Robie tak:
Zamiast tak
Da sie to jakos zastapic? Aby mi dzialalo to co najpierw podalem? Chce to wrzucic do szablonu w inne miejsce :/ Pozdrawiam. Ten post edytował Legro 19.03.2006, 16:59:22 -------------------- nospor - jestem z Wami !!!
|
|
|
28.03.2006, 17:58:16
Post
#44
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 28.03.2006 Ostrzeżenie: (0%) |
Witam
Jak połaczyć pager z tym kodem wyszukiwarki? W kodzie jest stronicowanie, ale ono niestety nie działa. Z góry dziękuję za pomoc, nie znam się na php a bardzo mi zależy na poprawnym stronicowani.
Jeszcze raz z góry dziękuję |
|
|
28.03.2006, 19:50:43
Post
#45
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
widze ze dales duzo rekordow na stronie: 150. wow ps: zaraz usune wiekszą czesc Twego kodu, gdyz generowanie formularza nam do szczescia nie jest potrzebne ps2: i uzywaj na przyszlosc wlasciwego bbcode -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
1.04.2006, 15:18:48
Post
#46
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) |
świetna sprawa . ale brakuje mi tu tego co już ktoś wcześniej napisał ze jak jeste na 10 stronie powinno automatycznie przskoczyc na nastepnych 10 a nie ze trzeba kliknac na " >> " dziala szybko na 600 tys rekorach. z tym ze liczenie rekordów robie tak:
Ten post edytował acztery 1.04.2006, 15:22:24 |
|
|
3.04.2006, 10:40:46
Post
#47
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Widzę, ze nie dacie mi spokoju z tymi pare przed i pare po od danej strony. Wprowadzilem więc poprawki w pierwszym poście na tę okoliczność
Sposób uzywania klasy nie uległ zmianie (jest kompatybilna wstecz ). 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 edit: jesli ktos nie wie o jakich zmianach mowie, to zacytuje jednego z uzytkowników: Cytat czy nie lepiej by bylo gdyby np przy 10 podstronie widoczne byly linki do stron nastepnych i poprzednich? No i teraz juz tak jest
np 5 poprzednich i 5 nastepnych, bo teraz jest tak ze jest 10 stron i koniec, tylko strzalki w prawo sa. a co do linkow to chodzi mi o cyfry teraz jest CODE |< << < 1 2 3 4 5 6 7 8 9 |10| > >> >| gdzie |10| to aktualna strona a ja zapytalem czy nie moze to sie przesuwac np. CODE |< << < 5 6 7 8 9 |10| 11 12 13 14 15 > >> >| moze takie cos juz jest ? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.04.2006, 11:40:38
Post
#48
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) |
jeszcze zapamietywanie podstron w sesjach i bedzie perfekto
EDIT aha mam male pytanie przy 500 tys rekordów pierwsze uruchomienie skryptu trwa długo u Was też? Ten post edytował acztery 3.04.2006, 11:41:48 |
|
|
3.04.2006, 11:43:40
Post
#49
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Cytat jeszcze zapamietywanie podstron w sesjach i bedzie perfekto No przecież to jest proponuję przeczytac opis klasy na początku kody, oraz posty w topicu. Zapamietywanie w sesji bylo przez caly czas. Co poniektórzy chcieli by mozna bylo to wyłączyc, więc dorobilem i tę mozliwość. ale domyslnie jest wlączone zapamietywanie w sesji. Moze ty nie startujesz sesji i dlatego ci nie dziala
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.04.2006, 11:45:07
Post
#50
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) |
tak masz racje nie mam session_start()
a co z tym 1 wolnym uruchomieniem |
|
|
3.04.2006, 11:48:08
Post
#51
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
jestes pewien ze to chodzi o generowanie pagera? zmierz czas przed Render() i po i sprawdź czy oby na pewno to to. Na pager nie powinno miec to wplywu. No chyba ze cos jest cacheowane lub cos w tym stylu.
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.04.2006, 11:52:31
Post
#52
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) |
w smartach jest włączone cacheowonie.
Oki w sesji trzyma ale dla każdek kategorii ktora mi zliczna wartosc jest stala. trzeba definiowac id pagera ? do tego zeby dzialalo dla kazdej kategori byla wyswetlona ostatnia przegladana podstrona |
|
|
3.04.2006, 11:54:43
Post
#53
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Cytat trzeba definiowac id pagera No tak. Przy inicjacjalizacji pagera zapodajesz unikalne dla niego id. Po tym wlasnie id jest rozpoznawany dany pager. Jesli chcesz miec pager unikalny dla kazdej kategorii, to musisz w id to rozróżnic, poprzez np. id kategori jako przedrostek lub cos w tym stylu. Wowczas dla kazdej kategorii, będzie pamietany stan Pager'a
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
3.04.2006, 11:56:42
Post
#54
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) |
wypas super robota
|
|
|
13.06.2006, 16:08:47
Post
#55
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
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 4) no i obecna wersja jest pod php5. Niedlugo dorobie tez wersje pod php4. Zapraszam do sciagania i testowania: http://nospor.vis-maior.net/index.php?m=dw...f1b1913f5cf5dee 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. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.07.2006, 11:30:39
Post
#56
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) |
Bardzo mi sie podoba ograniczenie pracy pagera jedynie do generowania kompletu odsylaczy. Przekazujesz do obiektu pagera odpowiednie dane a on sie zajmuje tym do czego zostal stworzony. Mam tu tylko jedna uwagę. Moim zdaniem dane niezbedne do pracy pagera powinny byc przekazywane do konstruktora (np. w postaci tablicy config). Setery i getery powinny zmieniac jedynie wlasciwosci domyslne lub takie, ktore chcemy zmienic w jakim etapie pracy obiektu.
Przydalby sie jakis sposob umozliwiajacy konstruowanie przyjaznych urli. Poniewaz tzw nice urls moga miec rozny wyglad - w zaleznosci od implementacji dobrze byloby sie w tym wypadku posluzyc wzorcem strategii i wylaczyc odpowiedzialna za generowanie linkow funkcjonalnosc do osobnej klasy - routera. Uzytkownik uzywajacy przyjaznych urli moglby sobie napisac wlasnego routera implementujacego oczywiscie odpowiedni interfejs. Tym samym wzorcem moznaby sie posluzyc w warstwie wizualnej przy konstruowaniu wiggetow. Kazda taka klasa wizualizujaca pagera mialaby przykladowo metode renderPagerBar ktora zwracalaby gotowy kod html pagera. Oczywiscie pozostawilbym tez metody dajace dostep bezposredni do danych "surowych" wygenerowanych przez pegera umozliwiajacych wspolprace danej klasy z systememi szablonow. Za dane surowe rozumiem tu:
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
18.07.2006, 11:41:34
Post
#57
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
Cytat Moim zdaniem dane niezbedne do pracy pagera powinny byc przekazywane do konstruktora (np. w postaci tablicy config). W zasadzie to tylko liczba rekordow jest potrzebna. Faktycznie moze byc w konstruktorze.Cytat Tym samym wzorcem moznaby sie posluzyc w warstwie wizualnej przy konstruowaniu wiggetow. Kazda taka klasa wizualizujaca pagera mialaby przykladowo metode renderPagerBar ktora zwracalaby gotowy kod html pagera. Oczywiscie pozostawilbym tez metody dajace dostep bezposredni do danych "surowych" wygenerowanych przez pegera umozliwiajacych wspolprace danej klasy z systememi szablonow. Za dane surowe rozumiem tu: NIe wiem czy cie dobrze zrozumialem, ale to wszystko teraz przeciez jest. Kazdy moze napisac sobie wlasna klase dziedziczącą po Pager i napisac wlasna metode do generowania html, kazdy moze napisac metode zewnetrzną i zapodac ja do Pagera. kazda z tych metod dostaje wlasnie surowe dane w postaci tablicyliczbe stron, liczbe elementow na stronie, indeks poczatkowy, indeks koncowy, tablice odsylaczy do kolejnych stron, komplet odsylaczy: do przodu, do tylu, na poczatek, na koniec itd. Cytat W kazdym razie to, co robi metoda _createLink jet moim zdaniem praca dla dwoch zewnetrznych, wyspecjalizowanych klas (router i view). _createLink jest tylko i wylacznie w celu domyslnego generowania pagera. kazdy kto chce sobie generowac wlasny pager Tworzy wlasne metody. Tu nie ma problemu Co do nice urls to bede musial z czasem sie przyjrzec temu Dzieki za uwagi. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
18.07.2006, 11:55:51
Post
#58
|
|
Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) |
NIe wiem czy cie dobrze zrozumialem, ale to wszystko teraz przeciez jest. Kazdy moze napisac sobie wlasna klase dziedziczącą po Pager i napisac wlasna metode do generowania html, kazdy moze napisac metode zewnetrzną i zapodac ja do Pagera. kazda z tych metod dostaje wlasnie surowe dane w postaci tablicy Chodzi wlasnie o ten domyslny widok. Wylacz to do osobnej klasy i napisz do niej interfejs (bedzie to cos w rodzaju wzoru tyle, ze zamiast klasy abstrakcyjnej napiszesz w pelni funkcjonalna). Jak ktos bedzie chcial sobie napisac swoj widok to albo wydziedziczy Twoja klase, albo napisze od nowa jednak implementujac odpowiedni interfejs. Jak bedzie chcial uzyc szablonu to zrobi to tak jak to umozliwiles teraz czyli pobierze sobie "surowe" dane i wstawi do szablonu.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
2.08.2006, 10:28:01
Post
#59
|
|
Grupa: Zarejestrowani Postów: 634 Pomógł: 14 Dołączył: 27.05.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Ja osobiscie Pager-a uzylem do pewnego projekyu i przyznam ze jest b. dobry, ale musialem sobie go trocke zmodyfikowac ...
A konkretniej to ostatnia funkcje "_createLink" w ktorej zmienilem metode twozenia linkow, otoz dodalem do klasy "public $link_format = <link>";, gdzie <link> jest puzniej zamieniane na zmenne GET ktore sa podszebne do zmainy strony, zrobilem to bo bardzo podszebowalem zeby to wszystko bylo na ajax. I proponuje dodanie takiej zmiany do oryginalnej klasy, na wypadek jak tos (np. ja) ma dziwne potszeby. |
|
|
2.08.2006, 10:32:52
Post
#60
|
|
Grupa: Moderatorzy Postów: 36 519 Pomógł: 6308 Dołączył: 27.12.2004 |
@nasty_psycho ale ty uzywales Pager ver 2.0? Przeciez ta wersja klasy umozliwia uzytkownikom pisanie wlasnych metod do renderowania Pagera. _createLink jest metodą prywatną i wykorzystywaną tylko dla domyslnego wygladu. Domyslny wyglad zmienia sie poprzez dziedzieczenie, bądź tez zapodania do klasy wlasnej funkcji generującej. W kodzie klasy nie trzeba nic modyfikowac.
edit: pozatym w konstruktorze klasy jest parametr $pageLink, do ktorego wkladasz to i owo. mozesz tam i swoje Get wstawic, co pisales -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
Wersja Lo-Fi | Aktualny czas: 26.09.2024 - 17:34 |