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 相关文章推荐
PHP 读取Postgresql中的数组
Apr 14 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
php实现的CSS更新类实例
Sep 22 PHP
php+mysql删除指定编号员工信息的方法
Jan 14 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
Jan 07 PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 PHP
Smarty保留变量用法分析
May 23 PHP
php PDO判断连接是否可用的实现方法
Apr 03 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
Sep 07 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 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自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
javascript入门基础之私有变量
2010/02/23 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
2013/01/29 Javascript
javascript常用经典算法实例详解
2015/11/25 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
微信小程序 wx:for 与 wx:for-items 与 wx:key的正确用法
2020/05/19 Javascript
vue实现学生信息管理系统
2020/05/30 Javascript
深入分析jQuery.one() 函数
2020/06/03 jQuery
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[10:14]2018DOTA2国际邀请赛寻真——paiN Gaming不仅为自己而战
2018/08/14 DOTA
Python3基础之输入和输出实例分析
2014/08/18 Python
基于Django filter中用contains和icontains的区别(详解)
2017/12/12 Python
利用arcgis的python读取要素的X,Y方法
2018/12/22 Python
Python3中的bytes和str类型详解
2019/05/02 Python
Python数据类型之String字符串实例详解
2019/05/08 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
vscode调试django项目的方法
2020/08/06 Python
Python代码注释规范代码实例解析
2020/08/14 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
python中xlutils库用法浅析
2020/12/29 Python
HTML5 Canvas 实现K线图的示例代码
2019/12/23 HTML / CSS
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
党的生日演讲稿
2014/09/10 职场文书
查摆问题整改措施
2014/10/24 职场文书
2016同学毕业寄语大全
2015/12/04 职场文书
经典哲理警句:志不真则心不热,心不热则功不贤
2019/11/14 职场文书
MySQL 数据丢失排查案例
2021/05/08 MySQL
pytorch finetuning 自己的图片进行训练操作
2021/06/05 Python
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers