数组分页,数据分页,手动分页,php分页实现

标题已经说得很清楚了,拿我这个函数直接调用吧。

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();
	}
}


本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com