PHP基于数组实现的分页函数实例
分页功能是PHP程序设计中非常常见的功能,不同于以往的,今天本文介绍的是PHP基于数组实现的分页函数。
关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用。两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数。
具体实例代码如下:
<?php
/**
*数组分页函数核心函数array_slice
*用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
*$count每页多少条数据
*$page当前第几页
*$array查询出来的所有数组
*order0-不变1-反序
*/
functionpage_array($count,$page,$array,$order){
global$countpage;#定全局变量
$page=(empty($page))?'1':$page;#判断当前页面是否为空如果为空就表示为第一页面
$start=($page-1)*$count;#计算每次分页的开始位置
if($order==1){
$array=array_reverse($array);
}
$totals=count($array);
$countpage=ceil($totals/$count);#计算总页面数
$pagedata=array();
$pagedata=array_slice($array,$start,$count);
return$pagedata;#返回查询数据
}
/**
*分页及显示函数
*$countpage全局变量,照写
*$url当前url
*/
functionshow_array($countpage,$url){
$page=empty($_GET['page'])?1:$_GET['page'];
if($page>1){
$uppage=$page-1;
}else{
$uppage=1;
}
if($page<$countpage){
$nextpage=$page+1;
}else{
$nextpage=$countpage;
}
$str='<divstyle="border:1px;width:300px;height:30px;color:#9999CC">';
$str.="<span>共{$countpage}页/第{$page}页</span>";
$str.="<span><ahref='$url?page=1'>首页</a></span>";
$str.="<span><ahref='$url?page={$uppage}'>上一页</a></span>";
$str.="<span><ahref='$url?page={$nextpage}'>下一页</a></span>";
$str.="<span><ahref='$url?page={$countpage}'>尾页</a></span>";
$str.='</div>';
return$str;
}
?>
希望本文所述实例对大家的PHP程序设计能起到一定的借鉴作用。