![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Bazuję na kodzie tej starej paginacji (chyba z phpbb2): http://forum.4programmers.net/PHP/120220-P...428724#id428724 I udało mi się to ostylizować, wszystko śmiga, ale za nic w świecie nie potrafię zrobić, aby ta paginacja działała w zakresie tylko 1 - 8. Obecnie, jeśli mamy przykładowo 12 stron do wyświetlenia w tej paginacji i jesteśmy obecnie na ostatniej stronie (12-stej) to paginacja układa się następująco: << 1 2 3 ... 5 6 7 8 9 10 11 12 >> Ja chciałbym, aby zawsze było te 8 stron, czyli powyższy przykład wyglądałby tak: << 5 6 7 8 9 10 11 12 czyli mamy 8 odnośników paginacji i żadnych kropek, podziałów w środku i innych cudów. Efekt ma być podobny do tego, który można zaobserwować chociażby na youtube w paginacji filmów. Czy ktoś byłby na tyle łaskaw i pomógł mi ten kod ukrócić tak, abym otrzymał zamierzony efekt? Pozdrawiam! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 27 Dołączył: 21.07.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dopasuj pod siebie (IMG:style_emoticons/default/wink.gif)
Kod if ( $iloscStron >=12){ echo "<<"; $od = $iloscStron - 8; for($numerki = $od; $numerki <=$iloscStron; $numerki++){ echo "[$numerki]"; }} else { echo "<<"; for($numerki = 1; $numerki <=$iloscStron; $numerki++){ echo "[$numerki]"; }} |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niestety to mi zbytnio nie pomaga. Stworzenie 'głupiej/mało inteligentnej' paginacji nie jest takim problemem.
<< 1 2 3 4 5 6 7 8 >> mając na uwadze w powyższym przykładzie, że jestem na 8 stronie, nadal maksymalną wartością jest 8 spośród wszystkich, a chciałbym aby minimalny odstęp od obecnej strony był równy 3 strony, czyli powyższy przykład powinien wyglądać ta: << 4 5 6 7 8 9 10 11 >> I teraz, jak widać obecna strona jest mniej więcej w środku, czyli min. 3 pozycje 'zapasu' na prawą stronę i na lewą, z wyjątkiem jeśli paginacja się już kończy i jesteśmy rzeczywiście na ostatniej pozycji. Wtedy po prostu powinna zniknąć opcja przejścia dalej - >> Nie potrafię tego wszystkiego posklejać ;/ Ten post edytował Majkelo23 15.11.2013, 16:11:22 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 0 Dołączył: 6.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przedstawię ci teorię.
Weź pod uwage stronę którą masz wybraną np 8 i wyswietlasz 3 z lewej i 3 z prawej. dzieki temu masz ... 5 6 7 [8] 9 10 11 ... i wstawaisz instrukcje warunkowe jeżeli strona wybrana to 1 nie ma linku do poprzedniej itp. mam to zastosowane w swoim skrypcie ale bedac w pracy nie mam jak Ci go wkleić (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 2 Dołączył: 22.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
ja bym to zrobił że nadzień dobry pobrał bym wartość ile mam w ogóle stron
potem podzielił na kilka ifów $ilośc stron w bok if 1 Stron elseif ostatnia strona elseif ((aktualna strona - ilość stron w bok)>0) elseif ((aktualna strona + ilość stron w bok)<=$ilość stron) a resztę się domysl |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 07:38 |