ThinkPHP中的功能类-数据分页类

ThinkPHP中的功能类-数据分页类

数据分页它是通过limit语法来实现。分页类的核心就是limit语法。

在ThinkPHP中系统封装好了一个分页类:Page.class.php

方法:

构造方法:

有三个参数,但是至少得传递第一个参数(总的记录数),一般还要指定第二个参数(每页显示的记录数,如果不指定则默认显示20个)

SetConfig方法:通过public类型的setConfig方法来设置私有属性config

Show方法:生成页码及页面页码上的URL连接

 

制作分页效果的步骤(七个步骤):

手册:

第一种方法在实际开发中比较常用:

第一步:查询出总的记录数;

第二步:实例化分页类,由于底层实现要求实例化的时候至少需要传递总数,所以需要在实例化的时候传递参数;

第三步:(可选步骤)定制显示分页提示的文字;

第四步:通过show方法输出分页页码的连接;

第五步:使用limit方法进行分页查询,注意其参数是page类的属性;

第六步:使用assign将查询的数据和分页连接数据传递给模版;

第七步:输出模版;

使用数据分页类实现职员管理的分页功能:

第一步:查询总的记录数

//实例化模型
$model = M('User');
//分页第一步,查询总的记录数
$count = $model -> count();

第二步:实例化分页类,传递参数

//分页第二步,实例化分页类,传递参数
$page = new \Think\page($count,1);

第三步:(可选步骤)定制分页按钮的提示文字

设置首页和末页的时候需要注意,如果总的页码数小于分页类中rollPage属性,则不会显示首页和末页的按钮,这个时候需要修改rollPage的值;由于分页类中lastSuffix属性,定义最后一页显示总页数,所以将其改为false

//分页第三步,可选步骤,定义提示文字
$page -> rollpage = 5;
$page -> lastSuffix = false;
$page -> setConfig('prev','上一页');
$page -> setConfig('next','下一页');
$page -> setConfig('last','末页');
$page -> setConfig('first','首页');

第四步:通过show方法输出分页的URL链接

//分页第四步,使用show方法生成url
$show = $page -> show();

第五步:使用limit方法查询数据

//分页第五步,展示数据
$data = $model -> limit($page -> firstRow,$page -> listRows) -> select();

第六步:传递数据

//分页第六步,传递给模板
$this -> assign('data',$data);
$this -> assign('show',$show);

第七步:展示模版

//分页第七步,展示模板
$this -> display();

全部代码:

		//showList方法
		public function showList(){
			//实例化模型
			$model = M('User');
			//分页第一步,查询总的记录数
			$count = $model -> count();
			//分页第二步,实例化分页类,传递参数
			$page = new \Think\page($count,1);
			//分页第三步,可选步骤,定义提示文字
			$page -> rollpage = 5;
			$page -> lastSuffix = false;
			$page -> setConfig('prev','上一页');
			$page -> setConfig('next','下一页');
			$page -> setConfig('last','末页');
			$page -> setConfig('first','首页');
			//分页第四步,使用show方法生成url
			$show = $page -> show();
			//分页第五步,展示数据
			$data = $model -> limit($page -> firstRow,$page -> listRows) -> select();
			//分页第六步,传递给模板
			$this -> assign('data',$data);
			$this -> assign('show',$show);
			//分页第七步,展示模板
			$this -> display();
			//展示数据
			$data = M('User') -> select();
			//传递给模板
			$this -> assign('data',$data);
			//展示模板
			$this -> display();
		}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值