<?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
}mysql
使用方式:sql
<?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);fetch
//将数据资源输出
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];ui
?>url