CanPHP开发手册--多样式分页类

说明:
  • 类文件:CanPHP/lib/Page.class.php
  • 分页类,提供四种显示样式,和ajax支持
  • 默认会自动加载,不需要手动include
方法:__construct($array=array())
说明:构造函数
参数:
  • 若不采用ajax分页,可以不用传递参数
  • 若采用ajax分页,传递$array['ajax']='默认ajax触发的动作';
方法:getCurPage($url="")
说明:获取当前页的页码
参数:
  • $url,设定的基准地址
  • 返回当前的页码
方法:show($url="",$total=0,$perPage=10,$pageBarNum=10,$mode=1)
说明:控制分页显示风格,并返回输出结果
参数:
  • $url,基准网址,若为空,将会自动获取,不建议设置为空
  • $total,信息总条数
  • $perPage,每页显示行数
  • $pageBarNum,分页栏每页显示的页数
  • $mode,显示风格,参数可为整数1,2,3,4任意一个
使用方法:
	//显示列表
	//得到的分页地址如:http://www.canphp.com/article/1-2.html
	public function _empty()
	{
		$cat_id=intval($_GET['_action']);//文章id
		if(empty($cat_id))
		{
			$this->error('参数传递有误');
		}

		$url=__URL__.'/'.$cat_id.'-{page}.html';//分页基准网址
		$page=new Page();		
		$listRows=1;//每页显示的信息条数
		$cur_page=$page->getCurPage($url);
		$limit_start=($cur_page-1)*$listRows;
		$limit=$limit_start.','.$listRows;
		
		$where="";
		$condition=array();		
		
		$condition['cat_id']=$cat_id;
		$condition['status']=1;
		//获取行数
		$count=$this->model->table('article')->where($condition)->count();	
				
		$list=$this->model->table('article')->where($condition)->order('id desc')->limit($limit)->select();
		
		$this->assign('list',$list);
		$this->assign('page',$page->show($url,$count,$listRows));
		$this->display('article/list');
	}
	
contentPage($content,$separator="[page]",$url="",$pageBarNum=10,$mode=1)
说明:长文章内容分页
参数:
使用方法:
		$page=new Page();	
		$this->assign('page',$page->contentPage($content));