thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?相关的知识,希望对你有一定的参考价值。

public function index()

$view = new View();
$sql = 'select id,name,price from products';
$view->objmark = Db::query($sql)->paginate(5);
return $view->fetch('index');

以上代码的期望结果是把sql执行,并分页输出到模板。
但第5行的paginate(5)是会出错的,错误提示:
Call to a member function paginate() on array
具体应该怎样分页?

参考技术A 造成这个错误的原因是 Db::query($sql)返回的是数组,解决方法:
$list = Db::table('products')->field('id,name,price')->paginate(5);
视图:
遍历$list元素
分页$list->render()
参考技术B 同求,使用原生查询进行分页,注意是使用原生查询分页。
因为有些特殊需求需使用此种方式来获取结果。

带分页样式的thinkphp数据查询

php查询文件代码:

html视图代码:

分页的css样式代码:

显示效果如下:

      

以上是关于thinkphp5原生查询时,查询结果怎么分页,具体代码应该怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp怎么把搜索结果分页

thinkphp5一个表里的字段值就是另一个表里的字段值,怎么获取另一个表的字段值呢

thinkphp5 怎么修改分页的url

thinkphp5 数据库的原生查询

ThinkPHP5 查询数据并处理结果

springDataJPQL实现增删改查及分页,原生sql查询,根据方法命名规则实现查询