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和ACCESS写聊天室(九)
Oct 09 PHP
PHP 飞信好友免费短信API接口开源版
Jul 22 PHP
PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
Jun 07 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
分享一个php 的异常处理程序
Jun 22 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
跟我学Laravel之请求(Request)的生命周期
Oct 15 PHP
php与Mysql的一些简单的操作
Feb 26 PHP
Discuz!X中SESSION机制实例详解
Sep 23 PHP
全面解析PHP操作Memcache基本函数
Jul 14 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
Sep 16 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
codeigniter使用技巧批量插入数据实例方法分享
2013/12/31 PHP
PHP封装返回Ajax字符串和JSON数组的方法
2017/02/17 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
2011/09/13 Javascript
ajax请求乱码的解决方法(中文乱码)
2014/04/10 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
JavaScript三种绑定事件方式及相互之间的区别分析
2017/01/10 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
Vuex提升学习篇
2018/01/11 Javascript
jquery选择器和属性对象的操作实例分析
2020/01/10 jQuery
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
python实现从字符串中找出字符1的位置以及个数的方法
2014/08/25 Python
Python实现登录接口的示例代码
2017/07/21 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
python 实现多维数组转向量
2019/11/30 Python
django ORM之values和annotate使用详解
2020/05/19 Python
python属于软件吗
2020/06/18 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
python-地图可视化组件folium的操作
2020/12/14 Python
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
生物学学生自我评价
2014/01/17 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
给老师的感谢信
2015/01/20 职场文书
英语导游词
2015/02/13 职场文书
企业投资意向书
2015/05/09 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏