PHP分页函数

<?php
function page($sql,$pagesize,$class="")
{
global $db;
$result=mysql_query($sql);
$number=mysql_num_rows($result);//总记录数
if(!$number){return 0;exit;}
$totalpage=ceil($number/$pagesize);

//接收页码数
$pageno=(int)$_GET['page'];
//校验页码数的有效性
$pageno=$pageno<=1?1:$pageno;
$pageno=$pageno>=$totalpage?$totalpage:$pageno;

//计算起始记录数
$startrow=($pageno-1)*$pagesize;
$sql.=" limit $startrow,$pagesize";
$result=mysql_query($sql);
$num=mysql_num_rows($result)!=$pagesize?mysql_num_rows($result):$pagesize;
$num=$num+$startrow-1;

$url=$_SERVER["PHP_SELF"];

if($pageno==1) $str= '首页 | 上页 | ';
else $str= '<a href="'.$url.'?page=1&'.$class.'">首页</a> | <a href="'.$url.'?page='.($pageno-1).'&'.$class.'">上页</a> | ';
if($pageno==$totalpage) $str.= "下页 | 末页 ";
else $str.= '<a href="'.$url.'?page='.($pageno+1).'&'.$class.'">下页</a> | <a href="'.$url.'?page='.$totalpage.'&'.$class.'">末页</a>';
$str.= "共 $totalpage 页 当前第 $pageno 页 位于第 $startrow 条至 $num 条记录";

return array($result,$str);

}

使用方式:

<?php
require("page.php");
$db=mysql_connect("localhost","root","123456") or die("有错。");
mysql_select_db("info",$db);

$sql="select * from message order by id desc";
//执行分页函数
$res=page($sql,3);

//将数据资源输出
echo "<table border=\"1\">";
while($row=mysql_fetch_assoc($res[0])){
echo "<tr>";
foreach($row as $str) echo "<td>$str</td>";
echo "</tr>";
}
echo "</table>";
//分页控制项
echo $res[1];

?>

转载于:https://my.oschina.net/u/130017/blog/14733

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值