yii遍历行下的每列数据(小1月考)

mac2022-06-30  20

效果图:

控制器(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>

转载于:https://www.cnblogs.com/shaohuixia/p/5364121.html

最新回复(0)