![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 18.10.2008 Ostrzeżenie: (10%) ![]() ![]() |
Witam
Mam mały problem ze stronicowaniem. Stronicowanie pokazuje wszystkie strony (numerki) od razu a chciałbym zrobić zeby pokazywało np 15 (7 stron po lewej, 1 strona aktualna i 7 stron po prawej ) Mam taki kod:
Czy da się coś z tym zrobić? nie da rady? Ten post edytował marcin0077 21.03.2010, 19:06:09 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Da się... musisz określić na starcie "szerokość zakresu". Ja robię to tak, że kod obejmuję w pętlę która ma zakres <obecna_strona - promień, obecna_strona + promień >
Jeśli w pętli strona jest poniżej pierwszej lub większa niż ostatnia to robię continue (IMG:style_emoticons/default/smile.gif) Efekt? taki (IMG:style_emoticons/default/winksmiley.jpg) To jest oczywiście zależne od tego jak liczysz strony... Czy od 0 czy od 1 jako pierwszej, ale to już minimalnie wpływa na skrypt. Jedynie musisz odpowiednio zmodyfikować nierówności i start pętli. Popatrz na to, przeanalizuj i zastosuj. W podanym przykładzie zacznie od -1 (bo 3-4=-1), ale oleje ten krok poprzez continue (IMG:style_emoticons/default/smile.gif) EDIT: Można to optymalizować gdy jest ogrom stron poprzez i gdy $i przekroczy $max to zwyczajnie zrobi break co zakończy pętlę. Można sprawdzać na starcie początek ($obecna-promień) i ustawiać $i na 0 lub określoną wartość wyliczoną. To już kwestia optymalizacji. Ja podałem Ci podstawowe rozwiązanie, ktore możesz modyfikować. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 01:34 |