|  RSS订阅  |  加入收藏

TP5一个volist数据如何拆分嵌套循环

解决TP5 volist循环输出offse不能使用变量,而导致自动拆分循环的问题,以满足前端更多样化的需求。
摘要

因前端的需要,后台的一个数据集在前台需要做拆分嵌套查询,而TP5的volist虽然可以输出指定部分数据,但是却无法自动进行拆分动作。关于offset不能使用变量的问题,在很久之前的一篇水文里面提过,具体看这里:https://www.anji66.net/article/id/51.html。而这次,又碰到前端给我出了一个这样的问题,因为前端的效果没有合适的展现方式,必须先循环ul,在ul中循环12个li后跳出,将余下的数据再循环ul,以此类推。这就很尴尬了,管理后台上用户上传的数据会不断更新,而使用offset静态参数的话,无法准确控制后面的循环。


先来下后端的数据查询

思路:先查询数据集然后进行计数,再将计数进一取整,然后根据取整数进行数据集拆分重组,最后返回给前台。这里用到进一取整函数ceil(),然后是拆分数组函数array_chunk()。因为需要拆分查询结果,所以第一步就不单独做count聚合查询了。直接上图吧。

未标题-1.jpg


前台循环

前台我直接用foreach循环了,当然这时候继续使用volist也可以的。自便吧,直接上个示例吧

未标题-2.jpg


逻辑很简单,后台构造好以后可以dump下结构看看,前台就一目了然了,水文结束,匿了~


如文章有用,给个赞助吧
  ThinkPHP    循环    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!