刚在统计中用到了很复杂的sql语句,用了两个嵌套字句才搞定的sql查询,要分页就麻烦了,如何用最简单的thinkphp框架中的Page类实现分页,以下直接写代码:
注:因为是二次开发,实际用的是tp4的框架,但方法大多用的tp3.2的。
$sql="select x,y from xxx left join yyy on xxxx where x in (select max(id) from xxx group by x) and ".$where." order by ...;
//用query()方法查询数据
$records=M()->query($sql);
//分页,$sql中未加limit限制条数;
$count=count($records);
$limit=10;
$Page = new Page($count,$limit);
$show = $Page->show();
//分页后的数据
$recordss=M()->query($rds." limit ".$Page->firstRow.",".$Page->listRows);
$this->assign('page',$show);
$this->assign('records',$recordss);
//在html中直接加<div>{$page}</div>用thinkphp默认样式进行渲染就可以了。