Welcome

首页 / 网页编程 / PHP / 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();//遍历区域IDforeach ($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--6foreach ($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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。