0
这是一些php分页代码,它可以流畅运行。修改分页脚本以显示最多9页链接
$rst = mysql_query($qry) or die(mysql_error());
$numrows = mysql_num_rows($rst);
$qry .= " limit $starting, $recpage";
$this->result = mysql_query($qry) or die(mysql_error());
$next = $starting+$recpage;
$var = ((intval($numrows/$recpage))-1)*$recpage;
$page_showing = intval($starting/$recpage)+1;
$total_page = ceil($numrows/$recpage);
$norepeat = 4;
$j = 1;
for($i=$page_showing; $i>1; $i--){
$fpreviousPage = $i-1;
$pagee = ceil($fpreviousPage*$recpage)-$recpage;
$anch = "<a href='#' >$fpreviousPage</a>".$anch;
if($j == $norepeat) break;
$j++;
}
$anc .= $anch; // last 4
$anc .= $page_showing; //current page
$j = 1;
for($i=$page_showing; $i<$total_page; $i++){
$fnextPage = $i+1;
$pagee = ceil($fnextPage*$recpage)-$recpage;
$anc .= "<a href='#' >$fnextPage</a>"; // next 4
if($j==$norepeat) break;
$j++;
}
但它只显示上一页和下一页最多4页。像
(1) | 2 | 3 | 4 | 5 // (1) as current page
2 | 3 | 4 | 5 | (6) | 7 | 8 | 9 | 10 // (6) as current page
12 | 13 | 14 | 15 | (16) // (16) as current page, the last page
现在,如何修改代码,以便作出这样的显示:
(1) | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 // (1) as current page
2 | 3 | 4 | 5 | (6) | 7 | 8 | 9 | 10 // (6) as current page
8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | (16) // (16) as current page, the last page
会有显示至少9页分页。
仍然需要避免,如果总页数小于9,
(1) | 2 | 3 | 4 | 5 | 6 | 7 // (1) as current page, 7 pages all, show max 7, not 9.
感谢。
喜@zod,其中添加'如果($总页数> 9)'?替换'$ norepeat = 4;'? – cj333 2011-05-24 21:01:29
@zod,woo,替换为'if($ totalpage> = 9){if($ j == $ norepeat)break;} else {if($ j == $ totalpage)break;} $ j ++;'打印出所有页码,45页,而不是9:{ – cj333 2011-05-24 21:09:18
这个$ page_showing = intval($ starting/$ recpage)+1的值是什么; – zod 2011-05-24 21:12:32