这是在网上搜到的一个php分页代码,然后改了改,随时备用,
分页函数:
<?php
function showpage($per,$all,$page,$page_len)//每页记录数、总记录数、当前页、显示的页码数量
{
$page_total=ceil($all/$per);
$begin=1;
$end=$page_total;
if($page_total>$page_len){
if($page+4>$page_total){
$end=$page_total;
$begin=$page_total-8;
}else if($page<=5){
$begin=1;$end=9;
}else{
$begin=$page-4;
$end=$page+4;
}
}
if($page!=1) {
$pagenums="$page/$page_total <a href=\"".$_SERVER['PHP_SELF'].'?page=1">首页 </a>';
$pagenums.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1).'">上一页 </a>';
}else $pagenums="$page/$page_total 首页 上一页 ";
for($i=$begin;$i<=$end;$i++)
{
if($page!=$i) $pagenums.='<a href="'.$_SERVER['PHP_SELF']."?page=$i\" >$i </a>";
else $pagenums.="$i ";
}
if($page==$page_total) $pagenums.="下一页 末页";
else $pagenums.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页 </a>"."<a href=\"".$_SERVER['PHP_SELF']."?page=$page_total\" >末页</a>";
return $pagenums;
}
?>
应用:
<?php
include("showpage.php");
$link=mysql_connect("localhost","root","");
mysql_select_db("oj");
mysql_query("set names utf8");
$result=mysql_query("select * from problem");
$all=mysql_num_rows($result);
$page=$_GET['page'];//当前页
if(empty($page)||$page<=0) $page=1;
$page_len=9;//显示的页数
$per=50;//每页记录数
$temp=($page-1)*10;
$sql="select * from problem limit $temp,10";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)) echo $row['title']."<br>";
echo showpage($per,$all,$page,$page_len);//调用
?>