Mam problem z dzialaniem tej paginacji, wzieta jest niby z jakiegos tutorialu i niby powinna dzialac. Jednak niestety nie dziala, tzn. na kazdej stronie wyswietlaja sie te same wiadomosci. Osoba mądrzejsza odemnie powiedziala ze jest problem limitem. Zmienna $limit?
Jak rozwiazac problem i spwadzic i spowodowac zeby to zaczelo funkcjionowac?
Czy to ze jest to w gecie jakos przeszkadza?
if(isset($_GET['newsy']) && $_GET['newsy']=='pokaz') {
$query = "SELECT COUNT(*) as all_posts FROM news";
$onpage = 2;
$navnum = 7;
$allpages = ceil($all_posts/$onpage);
if(!isset($_GET['page']) or
$_GET['page'] > $allpages or
!is_numeric($_GET['page']) or
$_GET['page'] <= 0
){ $page = 1;
}else{
$page = $_GET['page'];
}
$limit = ($page - 1) * $onpage;
$query = "SELECT * FROM news ORDER BY id DESC LIMIT $limit, $onpage";
echo "<h1>".$row['tytul']."</h1>"; echo "<p>".$row['tresc']."</p>"; }
if($navnum > $allpages){
$navnum = $allpages;
}
$forstart = $page - floor($navnum/2
); $forend = $forstart + $navnum;
if($forstart <= 0){ $forstart = 1; }
$overend = $allpages - $forend;
if($overend < 0){ $forstart = $forstart + $overend + 1; }
$forend = $forstart + $navnum;
$prev = $page - 1;
$next = $page + 1;
$script_name = $_SERVER['SCRIPT_NAME'];
echo "<div id=\"nav\"><ul>"; if($page > 1
) echo "<li><a href=\"".$script_name."?newsy=pokaz&page=".$prev."\">Poprzednia</a></li>"; if ($forstart > 1
) echo "<li><a href=\"".$script_name."?newsy=pokaz&page=?page=1\">[1]</a></li>"; if ($forstart > 2
) echo "<li>...</li>"; for($forstart; $forstart < $forend; $forstart++){
if($forstart == $page){
echo "<li class=\"current\">"; }else{
}
echo "<a href=\"".$script_name."?newsy=pokaz&page=?page=".$forstart."\">[".$forstart."]</a></li>"; }
if($forstart < $allpages) echo "<li>...</li>"; if($forstart - 1
< $allpages) echo "<li><a href=\"".$script_name."?newsy=pokaz&page=?page=".$allpages."\">[".$allpages."]</a></li>"; if($page < $allpages) echo "<li><a href=\"".$script_name."?newsy=pokaz&page=?page=".$next."\">Następna</a></li>"; echo "</ul></div><div class=\"clear\">";
}