![]() |
![]() |
![]()
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 ![]() ![]() 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 ![]() 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ć. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
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...
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
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 ![]() Można więc powiedzieć, że skopiowałeś kod, ale nie czytałeś opisu zamiast się zastanowić ciut ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
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
![]() kilka drobnych zmian + usunięcie starego for'a i działa ![]() dzięki bardzo |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:19 |