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的开合式多级菜单程序
Oct 09 PHP
PHP 存取 MySQL 数据库的一个例子
Oct 09 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
Jul 12 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
PHP实现文件下载详解
Nov 27 PHP
解决yii2左侧菜单子级无法高亮问题的方法
May 08 PHP
php反射类ReflectionClass用法分析
May 12 PHP
PHP实现求解最长公共子串问题的方法
Nov 17 PHP
PHP获取ttf格式文件字体名的方法示例
Mar 06 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
浅析PHP echo 和 print 语句
Jun 30 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
最贵的咖啡是怎么产生的,它的风味怎么样?
2021/03/04 新手入门
PHP 引用文件技巧
2010/03/02 PHP
PHP chmod 函数与批量修改文件目录权限
2010/05/10 PHP
php目录操作实例代码
2014/02/21 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
基于JavaScript 下namespace 功能的简单分析
2013/07/05 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
原生JS实现《别踩白块》游戏(兼容IE)
2017/02/20 Javascript
微信小程序 wx.request方法的异步封装实例详解
2017/05/18 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
vue多层嵌套路由实例分析
2019/03/19 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
详解Python的Flask框架中的signals信号机制
2016/06/13 Python
django自带的server 让外网主机访问方法
2018/05/14 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
python全栈知识点总结
2019/07/01 Python
Python画图高斯分布的示例
2019/07/10 Python
Django 重写用户模型的实现
2019/07/29 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
python每天定时运行某程序代码
2019/08/16 Python
财务会计毕业生自荐信
2013/11/02 职场文书
测控技术自荐信
2014/06/05 职场文书
药剂专业求职信
2014/06/20 职场文书
实习护士自荐信
2014/06/21 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
承诺函范文
2015/01/21 职场文书
Elasticsearch 基本查询和组合查询
2022/04/19 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL