Używam popularnego skryptu do stronnicowania:
<?php
$skrypt="/szukaj/".$wyszukiwane."/";
$skrypt=iconv('iso-8859-2','utf-8',$skrypt);
function pasek($total_items,$na_stronie,$na_pasku,$skrypt,$s) {
$stron = ceil($total_items/$na_stronie);
if ($s<1) $s=1;
if ($s>$stron) $s=$stron;
$koniec = $s+$na_pasku;
if ($s<=$na_pasku) $koniec = $na_pasku*2+1;
if ($koniec>$stron) $koniec = $stron;
$start = $koniec-$na_pasku*2;
if ($start<1) $start=1;
if ($s>1) $p = "<a href='$skrypt".(1)."/'>|<<</a> <a href='$skrypt".($s-1)."/'><</a>";
else $p = "<span style='color:gray'>|<<</span> <span style='color:gray'><</span>";
if ($s<$stron) $n = "<a href='$skrypt".($s+1)."/'>></a> <a href='$skrypt".$stron."/'>>>|</a>";
else $n = "<span style='color:gray'>></span> <span style='color:gray'>>>|</span>";
for ($i=$start; $i<=$koniec; $i++) {
if ($i==$s) $l .= " <span style='color:#ff0000;'><big><b>$i</b></BIG></span> ";
else $l .= " <a href='$skrypt$i/'>$i</a> ";
}
if ($total_items<1) $wynik = "Brak informacji spełniających kryteria wyszukiwania";
else $wynik = "Znaleziono: <B>$total_items</B> rekordów, strona <B>$s</B> z <B>$stron</B><br />";
if ($stron>1) $wynik .= "$p - $l - $n";
return $wynik;
}
echo "<div class='srodek'>"; echo pasek
($total_items,$na_stronie,$na_pasku,$skrypt,$page); ?>
Na początku wszystko działa ok, po wpisaniu czegośw wyszukiwarkę dostaję
link w stylu
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:
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:
mojastrona.pl/szukaj/fraza/2//3/
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ś ?
Ten post edytował Zyga24 15.09.2012, 01:18:04