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里的JS打印函数
Oct 09 PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
服务器web工具 php环境下
Dec 29 PHP
php simplexmlElement操作xml的命名空间实现代码
Jan 04 PHP
php数据库抽象层 PDO
May 07 PHP
php 模拟POST提交的2种方法详解
Jun 17 PHP
php数组随机排序实现方法
Jun 13 PHP
php把数组值转换成键的方法
Jul 13 PHP
PHP使用Pthread实现的多线程操作实例
Nov 14 PHP
php获取文件后缀的9种方法
Mar 22 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP环形链表实现方法示例
Sep 15 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP微信开发之根据用户回复关键词\位置返回附近信息
2016/06/24 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
两个select多选模式的选项相互移动(示例代码)
2014/01/11 Javascript
chrome下jq width()方法取值为0的解决方法
2014/05/26 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
原生js制作简单的数字键盘
2015/04/24 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
JavaScript中的原始值和复杂值
2016/01/07 Javascript
Vue.js学习教程之列表渲染详解
2017/05/17 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
2020/06/15 Python
详解Python高阶函数
2020/08/15 Python
jupyter 添加不同内核的操作
2021/02/06 Python
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
自我评价的正确写法
2013/09/19 职场文书
爱情寄语大全
2014/04/09 职场文书
劳动竞赛口号
2014/06/16 职场文书
乡镇党委书记第三阶段个人整改措施
2014/09/16 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
群众路线调研报告范文
2014/11/03 职场文书
小学班主任自我评价
2015/03/11 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
Java并发编程之原子性-Atomic的使用
2022/03/16 Java/Android