Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]Skrypt stronnicujący i problem z linkami do następnych podstron
Forum PHP.pl > Forum > Przedszkole
Zyga24
Używam popularnego skryptu do stronnicowania:

  1. <?php
  2. $wyszukiwane=str_replace(' ','+',$wyszukiwane);
  3. $skrypt="/szukaj/".$wyszukiwane."/";
  4. $skrypt=iconv('iso-8859-2','utf-8',$skrypt);
  5.  
  6. function pasek($total_items,$na_stronie,$na_pasku,$skrypt,$s) {
  7. $stron = ceil($total_items/$na_stronie);
  8.  
  9. if ($s<1) $s=1;
  10. if ($s>$stron) $s=$stron;
  11. $koniec = $s+$na_pasku;
  12. if ($s<=$na_pasku) $koniec = $na_pasku*2+1;
  13. if ($koniec>$stron) $koniec = $stron;
  14. $start = $koniec-$na_pasku*2;
  15. if ($start<1) $start=1;
  16. if ($s>1) $p = "<a href='$skrypt".(1)."/'>|&lt;&lt;</a>&nbsp;&nbsp;&nbsp;<a href='$skrypt".($s-1)."/'>&lt;</a>";
  17. else $p = "<span style='color:gray'>|&lt;&lt;</span>&nbsp;&nbsp;&nbsp;<span style='color:gray'>&lt;</span>";
  18. if ($s<$stron) $n = "<a href='$skrypt".($s+1)."/'>&gt;</a>&nbsp;&nbsp;&nbsp;<a href='$skrypt".$stron."/'>&gt;&gt;|</a>";
  19. else $n = "<span style='color:gray'>&gt;</span>&nbsp;&nbsp;&nbsp;<span style='color:gray'>&gt;&gt;|</span>";
  20. for ($i=$start; $i<=$koniec; $i++) {
  21. if ($i==$s) $l .= "&nbsp;<span style='color:#ff0000;'><big><b>$i</b></BIG></span>&nbsp;";
  22. else $l .= "&nbsp;<a href='$skrypt$i/'>$i</a>&nbsp;";
  23. }
  24. if ($total_items<1) $wynik = "Brak informacji spełniających kryteria wyszukiwania";
  25. else $wynik = "Znaleziono: <B>$total_items</B> rekordów, strona <B>$s</B> z <B>$stron</B><br />";
  26. if ($stron>1) $wynik .= "$p&nbsp; - $l - &nbsp;$n";
  27. return $wynik;
  28.  
  29. }
  30.  
  31. echo "<div class='srodek'>";
  32. echo pasek($total_items,$na_stronie,$na_pasku,$skrypt,$page);
  33. echo "</div>";
  34. ?>


Na początku wszystko działa ok, po wpisaniu czegośw wyszukiwarkę dostaję
link w stylu
  1. mojastrona.pl/szukaj/fraza

i tutaj sięwszystko wyświetla prawidłowo,
czyli dostaję numerowaną listę z cyferkami, któe odpowiadają danej podstronie.

Gdy chcę przejśc załóżmy na 2 podstronę, klikam w '2' i przechodzę na:
  1. mojastrona.pl/szukaj/fraza/2/

i w tym momencie stronnicowanie zaczyna się sypać.

Kolejne linki do podstron wyglądają tak:
dla 3 i 4 podstrony:
  1. mojastrona.pl/szukaj/fraza/2//3/
  2. mojastrona.pl/szukaj/fraza/2//4/


Czyli zamiast po ostanim slashu wyświetlić sam numer kolejnej podstrony to mi dokleja do niego jeszcze numer aktualnej i robi się taki mish mash.
Co robię źle ?

Pomoże ktoś ?
jaslanin
Chyba już drugi raz piszesz więc Ci odpowiem. Mimo iż nie zamieszczasz pełnego kodu, oraz nie stosujesz odpowiedniego formatowania kodu i trzeba go sobie najpierw samemu sformatować żeby cokolwiek z niego odczytać. Co prawdopodobnie spowodowało, że w Twoim pierwszym poście nie otrzymałeś odpowiedzi.

używasz zmiennej $wyszukiwane i w niej prawdopodobnie znajduje się ten nadmiarowy numer strony

moje podejrzenia to albo błędne zapisy mod_rewrite w .htaccess które powodują błędne uzupełnienie zmiennej $wyszukiwane

albo jeżeli używasz frameworka to jakiś błąd w routingu

albo po prostu jakiś bug w uzupełnianiu zmiennej $wyszukiwane, skądkolwiek ona jest brana

ale to oczywiście tylko przypuszczenia z szklanej kuli
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.