首页 > 开发 > PHP > 正文

Yii遍历行下每列数据的方法

2024-05-04 22:51:48
字体:
来源:转载
供稿:网友

本文实例讲述了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>            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表