![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
znalazłem kiedyś w sieci skrypcik do numerowania stron używam go na wielu serwisach ale w tym który teraz tworzę potrzebuję go troszkę zmodyfikować. Otóż chodzi o to że chciałbym aby skrypt zamiast pierwszej podstrony czyli w tym przypadku "index.php?page=0" zwracał "index.php" a zamiast mnożyć strony przez 10 dawał wyniki kolejno tzn. na 2 podstronie link wyglądał by tak index.php?page=2 a nie jak jest w tej chili index.php?page=10 Kompletnie nie wiem jak to zrobić jest to troszkę zagmatwane, więc proszę o pomoc speców. (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Kod wygląda tak:
Myślę, że ten skrypcik przyda się wielu z was tych mniej zaawansowanych programistów (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
zgaduję, bo zaspany jestem, ostatnie linijki zamień na:
Ten post edytował Darti 22.11.2007, 11:10:30 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
W efekcie tego sprawa wygląda następująco:
1. działa ilość podstron zgadza się :-) 2. po kliknięciu na 1 podstronę przechodzi o 2 podstrony :-( 3. każda podstrona to liczba - 1 :-( :-) działa :-( nie działa Ten post edytował mefjiu 22.11.2007, 11:49:15 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dalej problemy :-( a mianowicie link z numerkiem 10 przechodzi do adresu index.php0 i dodatkowo linki z prawej czyli
1, 2, 3 ... 4999, 5000 Next po kliknięciu w 4999 nie pokazuje wcześniejszej liczby :-( a dodatkowo tej definicji nie można zmieniać define('ILOSC_WYNIKOW_NA_STRONIE', 1); ponieważ jeżeli jest ona zmieniona na 1 to będzie pokazywać tylko jeden rekord z bazy danych a ma ich pokazywać 10 Także proszę o dalszą pomoc przy tym problemie Ten post edytował mefjiu 22.11.2007, 14:14:02 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
ehhh własnie, przy setnej i tysiecznej będzie podobnie, chodzi o ostatnią linię, trzeba by użyć wyrażeń regularnych
edit: Albo i nie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował Darti 22.11.2007, 14:13:51 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
Darti edytowałem post wyżej bo napotkałem dodatkowe problemy
to co napisałeś działa ale tak jak pisałem wyżej nie załatwia tych 2 problemów tzn. Cytat dodatkowo, linki z prawej czyli
1, 2, 3 ... 4999, 5000 Next po kliknięciu w 4999 nie pokazuje wcześniejszej liczby :-( a dodatkowo tej definicji nie można zmieniać define('ILOSC_WYNIKOW_NA_STRONIE', 1); ponieważ jeżeli jest ona zmieniona na 1 to będzie pokazywać tylko jeden rekord z bazy danych a ma ich pokazywać 10 Ten post edytował mefjiu 22.11.2007, 14:17:24 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
Ale za pobieranie wyników z bazy danych odpowiedzialna jest inna część kodu, tam zapewne jest LIMIT w zapytaniu sql`owym, ,który decyduje ile tego pobrać, trzeba go przemnożyć przez 10 a paginację modyfikować w tym kierunku, który obrałem
Ten post edytował Darti 22.11.2007, 14:20:55 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
od nowa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) kurde a tak ładnie szło
na początku kombinowałem to tak zostawiłem tam w define te 10 aby tyle było zapytań z bazy a zmieniałem
na
czyli usuwałem te mnożenie przez 10 i niby dawało to linki o jeden ale psuło resztę, może tobie się tak coś uda. Ale za pobieranie wyników z bazy danych odpowiedzialna jest inna część kodu, tam zapewne jest LIMIT w zapytaniu sql`owym, ,który decyduje ile tego pobrać, trzeba go przemnożyć przez 10 a paginację modyfikować w tym kierunku, który obrałem tak ale jak tak zamotam z tym wszystkim to już nikt tam się w kodzie nie połapię a przerabiam cms'a i wolę starać się go poprawiać anie jeszcze dodatkowo wszystko zapętlać. a po 2 te define jak by nie chciał to musi być 10 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) bo wtedy np pokazuje z 5000 podstron dokładnie te 500o a powinno być 500 bo 5000/10=500 Ten post edytował mefjiu 22.11.2007, 14:22:25 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 076 Pomógł: 62 Dołączył: 6.03.2005 Skąd: Wroc Ostrzeżenie: (0%) ![]() ![]() |
ale jeżeli ma tak być, że zmienna $page ma dokładnie określać numer strony to ILOSC_WYNIKOW_NA_STRONIE musi być 1, a zmienić trzeba pobieranie z bazy, a zmienną $statistics zmienic na 500 (co da 500 stron).
Innym wyjściem jest całkowita zmiana tej funkcji (i tak w tej funkcji ta ilość $per page moim zdaniem jest niepotrzebna). Na razie poprawiłem błąd ze stroną nr 4999:
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 5 Dołączył: 22.03.2005 Ostrzeżenie: (0%) ![]() ![]() |
ok działa już wszystko z resztą będę kombinował po stronie zapytania sql :-) wielkie dzięki darti
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 03:59 |