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 相关文章推荐
一次编写,随处运行
Oct 09 PHP
PHP迅雷、快车、旋风下载专用链转换代码
Jun 15 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
PHP实现懒加载的方法
Mar 07 PHP
PHP四种基本排序算法示例
Apr 09 PHP
使用Huagepage和PGO来提升PHP7的执行性能
Nov 30 PHP
php+html5实现无刷新图片上传教程
Jan 22 PHP
php session的锁和并发
Jan 22 PHP
yii2学习教程之5种内置行为类详解
Aug 03 PHP
PHP校验15位和18位身份证号的类封装
Nov 07 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
浅析ThinkPHP中execute和query方法的区别
2014/06/13 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
JavaScript 学习笔记(四)
2009/12/31 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
深入Python解释器理解Python中的字节码
2015/04/01 Python
Python中字典创建、遍历、添加等实用操作技巧合集
2015/06/02 Python
详解Python之unittest单元测试代码
2018/01/24 Python
TensorFlow实现iris数据集线性回归
2018/09/07 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python 函数的缺省参数使用注意事项分析
2019/09/17 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
pymysql模块使用简介与示例
2020/11/17 Python
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
教师工作失职检讨书
2014/09/18 职场文书
2014年人民警察入党思想汇报
2014/10/12 职场文书
房屋买卖协议样本
2014/11/16 职场文书
幼儿园安全工作总结2015
2015/04/20 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
小程序自定义轮播图圆点组件
2022/06/25 Javascript