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 VS ASP
Oct 09 PHP
php 方便水印和缩略图的图形类
May 21 PHP
PHP XML error parsing SOAP payload on line 1
Jun 17 PHP
PHP 5.5 创建和验证哈希最简单的方法详解
Nov 07 PHP
php常用数学函数汇总
Nov 21 PHP
php异常处理方法实例汇总
Jun 24 PHP
PHP实现上传文件并存进数据库的方法
Jul 16 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
Jun 28 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
Mar 12 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
Jun 20 PHP
PHP多维数组指定多字段排序的示例代码
May 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
3种平台下安装php4经验点滴
2006/10/09 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
JQuery上传插件Uploadify使用详解及错误处理
2010/04/27 Javascript
jQuery获取iframe的document对象的方法
2014/10/10 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
解决vue-router在同一个路由下切换,取不到变化的路由参数问题
2018/09/01 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
Python线性回归实战分析
2018/02/01 Python
Django实现文件上传和下载功能
2019/10/06 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
Keras - GPU ID 和显存占用设定步骤
2020/06/22 Python
python db类用法说明
2020/07/07 Python
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
巴西电子产品购物网站:Saldão da Informática
2018/01/09 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
招商专员岗位职责
2014/02/08 职场文书
高中军训感言800字
2014/03/05 职场文书
计划生育工作汇报
2014/10/28 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
公司庆典主持词
2015/07/04 职场文书
趣味运动会赞词
2015/07/22 职场文书
编写python程序的90条建议
2021/04/14 Python
Python Pandas知识点之缺失值处理详解
2021/05/11 Python
使用jpa之动态插入与修改(重写save)
2021/11/23 Java/Android