mysql和thinkphp5.1同时返回总数以及分页数据
2021-03-17 本文已影响0人
ikings
第一种使用mysql 自带的函数
//在SQL中加入SQL_CALC_FOUND_ROWS *
SELECT SQL_CALC_FOUND_ROWS * FROM user limit 0 20;
// 再获取总数
SELECT FOUND_ROWS() AS total;
示例:
$rows = Db::query('SELECT SQL_CALC_FOUND_ROWS * FROM user limit 0 20');
$total = Db::query('SELECT FOUND_ROWS() AS total');
第二种ThinkPHP 5.1 中使用paginate()
$rows = Db::table('user')->paginate();
//获取总数
$rows->total();
// 获取分页数据
$rows->items();
// 获取当前页码
$rows->currentPage();