![]() |
![]() ![]() |
![]() |
![]()
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ć. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 18.10.2008 Ostrzeżenie: (10%) ![]() ![]() |
niby rozumiem o co chodzi ale coś nie działa hmm
strony u mnie zaczyna od 0 Ten post edytował marcin0077 22.03.2010, 12:48:23 |
|
|
![]()
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 ![]() |
Ech... $obecna = $_GET['page'] czy coś w ten deseń... Nie kopiuj bezmyślnie tylko dopasuj poprawnie do swojego skryptu...
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 18.10.2008 Ostrzeżenie: (10%) ![]() ![]() |
dopasowuję już 2 godzinę to i nic ;/
Ten post edytował marcin0077 22.03.2010, 13:57:16 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
No tak... Opisałem problem, ale w kod wkradła się literówka... Zauważ, że w opisie problemu mam
Cytat <obecna_strona - promień, obecna_strona + promień > Ale w kodzie jest:
a powinno być: Zwróć uwagę, że wrzuciło mi - zamiast + przy limicie górnym pętli. Stąd nigdy nie ruszała nawet pętla i nic nie wyświetlało (IMG:style_emoticons/default/smile.gif) Można więc powiedzieć, że skopiowałeś kod, ale nie czytałeś opisu zamiast się zastanowić ciut (IMG:style_emoticons/default/winksmiley.jpg) Ja zaś owej literówki nie zauważyłem od razu. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 0 Dołączył: 18.10.2008 Ostrzeżenie: (10%) ![]() ![]() |
opis czytałem z 5 razy ale nie zauważyłem że tam akurat minus jest (IMG:style_emoticons/default/haha.gif)
kilka drobnych zmian + usunięcie starego for'a i działa (IMG:style_emoticons/default/smile.gif) dzięki bardzo |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:31 |