mysql和thinkphp5.1同时返回总数以及分页数据

第一种使用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();
 

你可能感兴趣的:(mysql和thinkphp5.1同时返回总数以及分页数据)