在我们做开发的过程中,经常会遇到需要分页的地方,如,文章分页,产品列表分页等等,那么,用没有一个分页是既简单又实用的呢,回答是有的,下面我就给大家介绍一个比较实用的自动分页代码,在任何分页情况都可以用哦。
不多说了,下面来看代码:

/**
* $page 当前页码,既用户选择的当前页数
* $total 当前分页内容的总记录数,也就是我们查询出来的总条数
* $phpfile 分页导航中的链接,除了加入不同的查询信息“page”外的部分都与这个

URL相同.默认值本该设为本页URL(即$_SERVER * [“REQUEST_URI”]),但设置默认值的右边只能为常量,所以该默认值设为空字符串,在函数内部再设置为本页URL。
* $pagesize 当前分页每页的记录条数,例如你pagesize=3时,分页出来每页就可看到三条数据
* $pagelen 这个指的是页码的个数,后面会根据具体记录算出该数目
*/
function page($page,$total,$phpfile,$pagesize=3,$pagelen=3){
$pagecode = ”; //定义变量,存放分页生成的HTML
$page = intval($page); //避免非数字页码
$total = intval($total); //保证总记录数值类型正确
if(!$total) return array();//总记录数为零返回空数组
$pages = ceil($total/$pagesize);//计算总分页
//处理页码合法性
if($page$pages) $page = $pages;
//计算查询偏移量
$offset = $pagesize*($page-1);
//页码范围计算
$init = 1;//起始页码数
$max = $pages;//结束页码数
$pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
$pageoffset = ($pagelen-1)/2;//页码个数左右偏移量

//生成html
$pagecode=’

’;
$pagecode.=”$page/$pages”;//第几页,共几页
//如果是第一页,则不显示第一页和上一页的连接
if($page!=1){
$pagecode.=”<<”;//第一页
$pagecode.=”<”;//上一页
}
//分页数大于页码个数时可以偏移
if($pages>$pagelen){
//如果当前页小于等于左偏移
if($page=$pages+1){
$init = $pages-$pagelen+1;
}else{
//左右偏移都存在时的计算
$init = $page-$pageoffset;
$max = $page+$pageoffset;
}
}
}
//生成html
for($i=$init;$i<=$max;$i++){
if($i==$page){
$pagecode.=’’.$i.’’;
} else {
$pagecode.=”$i”;
}
}
if($page!=$pages){
$pagecode.=”>”;//下一页
$pagecode.=”>>”;//最后一页
}
$pagecode.=’

’;
return array(‘pagecode’=>$pagecode,’sqllimit’=>’ limit ‘.$offset.’,’.$pagesize);
}
?>

以上就是该分页的全部代码了,需要用的亲们可以直接弄过去,修改一下里面的数据内容就可以了哦!