标题已经说得很清楚了,拿我这个函数直接调用吧。
class myclass
{
protected $pages_in_left;
/**
* 数组分页函数 核心函数 array_slice
* 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
* $count 每页多少条数据
* $page 当前第几页
* $array 查询出来的所有数组
* order 0 - 不变 1- 反序
*/
public function page_array($count,$page,$array,$order)
{
$page=(empty($page))?'1':$page; #判断当前页面是否为空 如果为空就表示为第一页面
$start=($page-1)*$count; #计算每次分页的开始位置
if($order==1){
$array=array_reverse($array);
}
$totals=count($array);
$this->pages_in_left = ceil($totals/$count);
$pagedata=array();
$pagedata=array_slice($array,$start,$count);
return $pagedata; #返回查询数据
}
/**
* 分页及显示函数
* $countpage 总页数
* $currentpage 当前页数
*/
public function show_navigate($currentpage,$countpage)
{
$page = empty($currentpage)?1:$currentpage;
if($page > 1){
$uppage=$page-1;
}else{
$uppage=1;
}
if($page < $countpage){
$nextpage=$page+1;
}else{
$nextpage=$countpage;
}
$url = U('Bomoutfactory/left');
$str="<a class='a1'>共{$countpage}页</a>";
$str.="<a href='$url&page=1'>第一页</a>";
$str.="<a href='$url&page={$uppage}'>上一页</a>";
$str.="<a href='$url&page={$nextpage}'>下一页</a>";
$str.="<a href='$url&page={$countpage}'>最后一页</a>";
return $str;
}
/* 调用之 */
public function display()
{
// 分页及显示
$page=empty($_GET['page'])?1:$_GET['page'];
$datas = self::page_array(20,$page,$datas,0);
$pages = self::show_navigate($page,$this->pages_in_left);
$this->assign('datas',$datas);
$this->assign('page',$pages);
$this->display();
}
}