Hi ich hab ein Seitenblättern Script aus dem Code Schnipsel Forum genommen und auf meine wünsche angepasst.
Jetzt kommt das Problem: wenn ich mir 5 Datensätze pro Seite anzeigen lasse, dann zeigt er mir 4 Seiten an, er müsste aber nur 2 anzeigen, weil ich 9 Datensätze habe.
Wenn ich 10 Datensätze pro Seite einstelle, dann zeigt er mit zwei Seiten an, er müsste aber nur eine anzeigen.
Kann mir einer sagen warum er mir bei 5 Datensätzen 1 Seite und bei 10 Datensätzen 2 Seiten zuviel anzeigt.
Jetzt kommt das Problem: wenn ich mir 5 Datensätze pro Seite anzeigen lasse, dann zeigt er mir 4 Seiten an, er müsste aber nur 2 anzeigen, weil ich 9 Datensätze habe.
Wenn ich 10 Datensätze pro Seite einstelle, dann zeigt er mit zwei Seiten an, er müsste aber nur eine anzeigen.
Kann mir einer sagen warum er mir bei 5 Datensätzen 1 Seite und bei 10 Datensätzen 2 Seiten zuviel anzeigt.
PHP-Code:
$select = mysql_query("SELECT * FROM news_comm");
$nr = mysql_num_rows($select); #Gesamtanzahl $result muss ohne LIMIT ermittelt werden.
$showmax = 5;
if(!isset($start)) $start = 0;
$start = intval($start);
$shownsteps = 3; #Anzahl der Seitenzahlen links und rechts von der aktuellen Seitenzahl.
$shows = $start+1;
$showe = $start+$showmax;
if($showe > $nr) $showe = $nr;
if($nr > $showmax)
{
if($start != 0) print "<a href=\"commc?nid=$nid&start=".($start-$showmax)."\"><< vorherige</a> ";
$begin = $start-($shownsteps*$showmax);
$end = $start+(($shownsteps+1)*$showmax);
$now = $begin;
$i = ($begin/$showmax)+1;
if($now-$showmax >= 0) print "<a href=\"commc?nid=$nid&start=0\">1</a> ... ";
while($now < $end)
{
if(($now >= 0) && ($now <= $nr))
{
if($now == $start) print "<b>$i</b> ";
else print "<a href=\"commc?nid=$nid&start=$now\">$i</a> ";
}
$now += $showmax;
$i++;
}
$temp = bcdiv($nr,$showmax,0)+1;
if($now+$showmax <= $nr) print "... <a href=\"commc?nid=$nid&start=".($temp*$showmax)."\">$temp</a> ";
$t = $start+$showmax;
if($t < $nr) print " <a href=\"commc?nid=$nid&start=$t\">nächste >></a>";
}
Kommentar