Yii遍历行下每列数据的方法


Posted in PHP onOctober 17, 2016

本文实例讲述了Yii遍历行下每列数据的方法。分享给大家供大家参考,具体如下:

效果图如下:

Yii遍历行下每列数据的方法

控制器(1种):

//显示列表
public function actionList()
{
    //实例化对象
    $model= new Qiu();
    $country = \Yii::$app->db;
    //查询数据
    $data = $country->createCommand("select * from qiu join region on qiu.region_id=region.region_id")->queryAll();
    $region_ids = $country->createCommand("select region_id from region")->queryAll();
    $region = $country->createCommand("select * from region")->queryAll();
    //遍历数组
    $ids = array();
    $names = array();
    $count = array();
    //遍历区域ID
    foreach ($region_ids as $key => $v)
    {
      $ids[$key] = $v['region_id'];
    }
    //print_r($ids);die;
    //遍历球队
    foreach ($ids as $key => $val)
    {
      $data =Qiu::find()->where(['region_id'=>$val])->asArray()->all();
      $count[]=count($data);
      $rows[$val] = $data;
    }
    //print_r($rows);die;
    //根据所有记录进行遍历,显示最多行数
    $ji = max($count);
    $arr = array();
    //找出对应的球队
    for($i=0;$i<$ji;$i++)
    {
      foreach($rows as $key => $val)
      {
        if(isset($val[$i]))
        {
          $arr[$i][$key] = $val[$i]['q_name'];
        }
        else
        {
          $arr[$i][$key] = '';
        }
      }
    }
    //var_dump($arr);die;
    //分配数据
    return $this->render('list',['arr'=>$arr,'region'=>$region]);
}

(2种):

public function actionList1()
{
    //实例化模型层
    $region = new Region;
    $qiu = new Qiu;
    //取出区域表的iQiud和所有数据,队表数据
    $region_ids = $region->find()->select('region_id')->column();
    $areas = $region->find()->asArray()->all();
    $team = $qiu->find()->asArray()->all();
    $count = array();
    $info = array();
    foreach ($region_ids as $aid) {//1,2,3--6
      foreach ($team as $key=>$val) {
        if($val['region_id'] == $aid){
          $info[$aid][] = $val;
          $count[]=count($info[$aid]);
        }
      }
    }
    //var_dump($count);die;
    $con = max($count);
    $arr = array();
    for ($i=0; $i <$con ; $i++) {
      foreach ($info as $key => $val) {
        if(isset($val[$i])){
          $arr[$i][$key] = $val[$i]['q_name'];
        } else {
          $arr[$i][$key] = '';
        }
      }
    }
    //var_dump($arr);die;
    return $this->render('list',['arr'=>$arr,'region'=>$areas]);
}

视图层:

<table border="1">
<!--一行区域-->
<tr style="background:red;">
<?php foreach ($region as $key => $v1) {?>
<td><?php echo $v1['region_name']; ?></td>
<?php }?>
</tr>
<!--每列球队-->
<?php foreach ($arr as $key => $val) {?>
<tr>
<?php foreach ($val as $key => $v) {?>
<td><?php echo $v; ?></td>
<?php } ?>
</tr>
<?php } ?>
</table>

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
一个更简单的无限级分类菜单代码
Jan 16 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
php版淘宝网查询商品接口代码示例
Jun 17 PHP
PHP连接SQLServer2005的方法
Jan 27 PHP
php中array_multisort对多维数组排序的方法
Jun 21 PHP
CI框架表单验证实例详解
Nov 21 PHP
PHP中单例模式与工厂模式详解
Feb 17 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
详解php框架Yaf路由重写
Jun 20 PHP
关于laravel5.5的定时任务详解(demo)
Oct 23 PHP
设定php简写功能的方法
Nov 28 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 #PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 #PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 #PHP
php排序算法实例分析
Oct 17 #PHP
基于thinkPHP框架实现留言板的方法
Oct 17 #PHP
php并发加锁示例
Oct 17 #PHP
You might like
学习php中的正则表达式
2014/08/17 PHP
PHP中单引号与双引号的区别分析
2014/08/19 PHP
php文件缓存类用法实例分析
2015/04/22 PHP
php算法实例分享
2015/07/14 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
PHP基于新浪IP库获取IP详细地址的方法
2017/05/04 PHP
如何实现JS函数的重载
2006/09/22 Javascript
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
knockoutjs模板实现树形结构列表
2017/07/31 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
python实现多线程暴力破解登陆路由器功能代码分享
2015/01/04 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
Django Form 实时从数据库中获取数据的操作方法
2019/07/25 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?
2012/10/15 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
2016/01/06 面试题
母亲80寿诞答谢词
2014/01/16 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
主持词开场白
2014/03/17 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
党的群众路线教育实践活动整改落实情况报告
2014/10/28 职场文书
上市公司董事长岗位职责
2015/04/16 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
golang语言指针操作
2022/04/14 Golang