所在的位置: php >> php发展 >> ThinkPHP5开发连载76tp5

ThinkPHP5开发连载76tp5

北京扁平疣中医医院 http://m.39.net/pf/a_8890897.html

文章讲解“模型-内置标签之定义标签”,本篇文章讲解“杂项-分页之分页实现”。

一、分页实现

ThinkPHP5.1内置了分页实现,要给数据添加分页输出功能变得非常简单。

1.使用Db类实现分页

1)使用Db类查询的时候调用paginate方法:

①新建Index控制器,并新建dbpage方法

②新建dbpage.html模板,并在模板中展示数据

预览:

2)单独赋值分页输出的模板变量

①在ThinkPHP3版本时,分页模板与数据是单独分开的,在ThinkPHP5中也支持单独的分页模板。

②在dbpage.html模板中,输出分页模板

预览:

注意:1.默认情况下,生成的分页输出是完整分页功能,带总分页数据和上下页码,分页样式只需要通过样式修改即可,完整分页默认生成的分页输出代码为:ullispan/span/lilispan1/span/liliahref=url?page=22/a/li/ul

3)单独获取总数据数

预览:

2.模型的分页查询

以上使用的是Db类的分页查询方式,也可以使用模型进行分页查询。

①新建User模型,并新建getList方法,获取分页查询数据

②在Index控制器中,新建modelpage方法,调用模型中的getList方法

③新建modelpage.html模板,在模板中输出数据

预览:

注意:1.使用模型类实现分页与Db类实现分页相同,其中Db类可以获取的总页数、单独输出分页在模型类中依旧可以实现。

3.传入总记录数

支持传入总记录数而不会自动进行总数计算。

①在Index控制器中,新建totalnum方法

②新建totalnum.html模板,在模板中输出数据

注意:1.对于UNION查询以及一些特殊的复杂查询,推荐使用这种方式首先单独查询总记录数,然后再传入分页方法。

4.分页后数据处理

支持分页类后数据直接each遍历处理,方便修改分页后的数据,而不是只能通过模型的获取器来补充字段。

1)使用模型进行分页后数据处理

①在Index控制器中,新建eachnum方法

②新建totalnum.html模板,在模板中输出数据

预览:

2)使用Db类进行分页后数据处理

如果是Db类操作分页数据的话,each方法的闭包函数中需要使用返回值。

①在Index控制器中,新建dbeach方法

预览:

ThinkPHP5连载为卓象程序员原创,转载请联系卓象程序员




转载请注明:http://www.aierlanlan.com/tzrz/3757.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了