tp3,tp4 用query()查询sql语句的分页方法

ThinkPHP分页实战
本文详细介绍了在复杂的SQL查询场景下,如何利用ThinkPHP框架中的Page类实现数据分页。通过具体代码示例,展示了从数据查询到分页显示的全过程,为开发者提供了一个实用的解决方案。

刚在统计中用到了很复杂的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默认样式进行渲染就可以了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值