zoukankan      html  css  js  c++  java
  • 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>

  • 相关阅读:
    github设置添加SSH
    利用ForgeryPy生成虚拟数据
    使用python的email、smtplib、poplib模块收发邮件
    charles系列破解激活办法(最高charles4.2.5都可以激活,亲测可用)
    percona-toolkit 之 【pt-online-schema-change】说明
    针对跑MySQL的Linux优化【转】
    MySQL 利用SQL线程对Binlog操作
    MySQL 四种事务隔离级的说明
    Innodb锁机制:Next-Key Lock 浅谈
    INNODB自增主键的一些问题
  • 原文地址:https://www.cnblogs.com/dandanyoudu/p/11714796.html
Copyright © 2011-2022 走看看