![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Bo chodzi o to:D że mam kod paginacji ale jak będzie np. 100stron to na dole będzie od 1-100 a to nie ładnie będzie wyglądać
i chciałbym to ograniczyć żeby tylko było widać ograniczona ilość wiem że był taki temat tu ale nie mogę znaleźć bo szukałem było tam właśnie jak ograniczyć to a więc to kod:
Wiem że chyba trzeba warunki dopisać? nie wiem :/ z góry thx.(IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
może daj po prostu listę rozwijaną (IMG:style_emoticons/default/tongue.gif)
|
|
|
![]() ![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 20.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz, dam Ci gotową paginację przebudowaną przeze mnie, musisz jednak poczekać, aż wrócę ze szkoły;p
Przy 100 stronach powinno wyglądać tak: 1 2 3 ... 24 25 26 ... 65 66 67 ... 98 99 100 do tego strzałki na początku i końcu, można je wyłączyć, niestety mogę podać dopiero dziś po 16 |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Na tym forum taka forma paginacji o jakiej myślisz przewinęła się ze kilkadziesiąt razy najmniej (IMG:style_emoticons/default/wink.gif) Naprawdę warto użyć wyszukiwarki zanim zada się pytanie.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja cie przekierunkuje tylko do jednej rzeczy:
Klasy: Pager (stronicowanie) (by nospor) - http://nospor.pl/pager.html trudno tego nie było wyszukać, klasa gotowa dobrze działa (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
djkrc możesz dać:]
thek szukałem i nie znalazłem wiem ze tylko warunki chyba na koncu trzeba dopisać a nie wiem jak... Hpsi+ nie znam jeszcze obiektowego:] czekam na książke:) a że mieszkam za granicą jeszcze to musze poczekać troche:) |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
To Ci podpowiem jak...
Tworzysz sobie "zakres stron" z obu względem strony aktualnej... Potem tylko sprawdzasz czy $page-$zakres > 0 (lub 1 zależy odkąd startujesz) i jeśli tak to jest to Twoim początkiem, a jeśli nie to startem jest 0 (lub 1). Analogicznie dla końca. Jeśli $page+$zakres > $ilość stron to $koniec jest równy $ilość stron, a jeśli nie, to jest to wspomniana suma. Potem tylko pętla od $start do $koniec i to wszystko. Dodatkowo walisz jeszcze link do pierwszej i poprzedniej jeśli jesteś na innej stronie niż pierwsza oraz link do kolejnej i ostatniej jeśli jesteś na innej niż ostatnia. To jest cała idea stojąca za paginatorem o jakim piszesz. A skąd wiem że tak? Bo nawet na tym forum kilka razy dalem kod gotowy tego i zwyczajnie nie mam ochoty po raz kolejny tego pisać (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 20.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
W razie problemów pisać, opisałem wszystko jak umiałem, na końcu masz instrukcję jak uruchamiać ;p
przy 122 stronach wygląda to tak: (IMG:http://imageshack.us/m/217/4927/72577830.png) (IMG:http://imageshack.us/m/21/6972/30687379.png) (IMG:http://imageshack.us/m/191/9155/28324936.png) Ten post edytował djkrc 25.05.2011, 17:47:26 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Ale zamotali...
Aby ominąć cyrki z mod_rewrite jako parametr podaj... wzorzec linka, który potem tylko podmienisz przy uzyciu str_replace choćby: function paginacja( $all, $page = 0, $num_per_pages = 10, $side = 5, $pattern = '?page=[page_number]') A czemu tak? Bo poza liczbą wszystkich pozycji, każda inna wartość jest opcjonalna tak naprawdę (IMG:style_emoticons/default/wink.gif) Pierwsza strona - niepotrzebne $page. 10 wyników na stronę? Niepotrzebne $num_per_pages (IMG:style_emoticons/default/smile.gif) Domyślnie po 5 stron z obu stron od aktywnej obecnie. A wzorzec domyślny dla większości przypadków stron bez mod rewrite to ?page=[numer_strony], gdzie [numer_strony] będziemy sobie w locie zamieniali na konkretną wartość. Jedynie sobie do całości zdefiniujemy jakieś klasy ładnie, bo kod jaki w teorii powinno generować się powinien mieć postać choćby dla strony 3 na 10: a więc minimum jakie powinieneś posiadać w CSS to
Nie piszę JAK to zrobić, bo od gotowego kodu w html jaki masz wyżej ciutkę do tego w jaki sposób go stworzyć jest naprawdę odrobinka myślenia jedynie. Przynajmniej mając deklarację funkcji jaką Ci powyżej z parametrami podałem. Możesz jedynie kombinować góra z faktem w jakiej formie/stylu wyświetlać i to Ci będzie ważyło na wyniku końcowym html, ale jak wspomniałem... Na podstawie kodu wynikowego da się w miarę prosto powiedzieć jak kod ma wyglądać wewnętrznie. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 2 Dołączył: 20.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie ja pisałem powyższy skrypt, po prosty wprowadziłem kilka zmian, dodałem możliwość wybierania stylu css jaki ma zostać użyty przy wyświetlaniu, sam nie wiem kto ten skrypt napisał, ale działa jak najlepiej, a to, że jakiś idiota może zmienić w linku strona 122 na 1222 to już sprawa odpowiednich if'ów w kodzie strony...
zabawa z mod_rewrite jest opisana, jeśli ktoś oddziela parametry separatorem / lub jak w moim przypadku , to należy go podać, jeśli go nie stosujemy link może wyglądać np tak: download.php?kat=1&dat=2 i skąd teraz ma wiedzieć czy na końcu ma się znaleźć & czy ? oczywiście możemy podać we wzorcu linka cały link pobrany z adresu, oprócz hosta, i na końcu dodać nasz separator, ale to wymaga zmian w kodzie, jak ktoś chce niech się bawi, w sumie wystarczy wszędzie wywalić $amp i podawać we wzorcu, kilka małych zmian i skracamy kod, jak dla mnie kod jest ok... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 07:09 |