Thinkphp5中嵌套循环

Thinkphp5中嵌套循环:(可以利用foreach的特性)


例如:

《一》两个关联数据表查询数据(此处是 数据库中的数据 套 数据库中的数据)

controller(.php)文件中:
//查询当前分类名称,便于页面链接标题显示
$mas = db('newsclass')->where('parentid', 19)->select();
foreach($mas as $m =>$ma){
$mas[$m]['v'] =db('news')->where('smallclassid', $ma['id'])->select();
}
//页面传参
$this->assign([ 'mas' => $mas]);

view(.html)文件中:
{foreach name="$mas"' item='m'}
<h3>{$m['title']}</h3>
{foreach name="$m['v']"' item='n'}
<li>
<a href="{:url('team/team_detail',['id'=>$n['id']])}">
<div class="item">
<div class="pic"><img src="{$n['smpic']}" class="vcenter" alt="{$n['title']}"></div>
<big>{$n['title']}</big>
<p>{$n['tags']}</p>
</div>
</li>
{/foreach}
{/foreach}


《二》特殊分页时的数据循环(此处是 数组 套 数据库中的数据)

controller(.php)文件中:
//查询所有数据
$mas = db('newsclass')->where('parentid', 19)->select();
//所有数据的条数
$length=count($mas);
//每页显示数目
$num=3;
//获取整数页
$len=$length/$num
//目前查询了的条数
$end=0;
//查询特殊分页中的数据
for($i=0;$i<$len;$i++){
//初始位置
$start=$end;
//查询从$start开始的$num条数据
$array[$i]=db('newsclass')->where('parentid', 19)->limit($start,$num)->select();
//结束位置
$end=$start+$num;
}
return $this->assign(['array'=>$array,'len'=>$len])

view(.html)页面中:
<div class="teambox tb">
{for start='0' end='$len'}
<div>
<div class="items">
<ul>
{foreach name='array[$i]' item='arr'}
<li><img src="{$arr['smpic']}"></li>
{/foreach}
</ul>
</div>
</div>
{/for}
</div>

posted @ 2019-10-21 17:28  西单微微  阅读(1002)  评论(0编辑  收藏  举报