这里有新鲜出炉的 YII 2.0 教程,程序狗速度看过来!
Yii Framework 是一个基于组件、用于开发大型 web 应用的高性能 PHP 框架。Yii 提供了今日 Web 2.0 应用开发所需要的几乎一切功能。Yii 是最有效率的 PHP 框架之一。Yii 是创始人薛强的心血结晶,于 2008 年 1 月 1 日开始开发。
这篇文章主要介绍了 Yii 遍历行下每列数据的方法, 结合实例形式分析了 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 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0828/341911.html