分页功能有两个比较核心的技术:
1.分页功能中关于Mysql中limit的用法:
limit 后接两个参数,一个是偏移量,一个是条数。!!!注意:初始记录行的偏移量是0而不是1
2.关于偏移量的计算:这是整个分页中较难的一点
下面开始分页功能:$page=$_GET['p'];//通过GET函数获取URL上的p值,需手动打入。
$PageSize=8;//设置每页显示的最多条数为8条。
$sql="select * from 表名 limit".($page-1) * $PageSize. ",$PageSize";
$result=mysql_query($sql);//mysql_query()函数执行一条mysql查询
if($result)
{
while($row=mysql_fetch_array($result))//mysql_fetch_array函数从结果集中取得一行作为关联数组或数字数组
}
<?php
mysql_free_result($result);//释放结果,即释放内存
$to_sql="select COUNT(*) from 表名";// COUNT(*)函数返回表中的记录数
$to_result=mysql_fetch_array(mysql_query($to_sql));
$to=$to_result[0];//获取行数
$to_pages=ceil($to/$PageSize);//ceil函数返回向上舍入为最接近的整数。$to_pages为总页数
echo"<div class='banner'>";
$page_banner="";
//开始计算偏移量
if($page>=1){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=1'>首页|</a>" ;
//$_SERVER['PHP_SERVER']为预定义服务变量,为当前 正在执行的脚本的文件名
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page-1)."'>上一页|</a>";
}
if($page<$to_pages){
$page_banner.="<a href='".$_SERVER['PHP_SELF']."?p=".($page+1)."'>下一页|</a>";
$page_banner.="<a href='".$SERVER['PHP_SELF']."?p="($to_pages)."'>尾页</a>";
}
$page_banner.="共{$to_pages}页";
echo $page_banner;
echo "</div>";
?>