用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4807|回复: 11
收起左侧

在控制器里查出结果怎么转发到页面

[复制链接]
发表于 2009-6-1 23:57:38 | 显示全部楼层 |阅读模式
控制器
$result=$this->db->get('table1');
$this->view('list',$result);

页面
foreach($result->result() as $row){
   echo $row['title'];
}

我这样写经测试$result是空的,这是什么原因?
 楼主| 发表于 2009-6-2 00:07:07 | 显示全部楼层
上面的第二行代码写少this->load->view('')
问题还没解决,继续求解。
 楼主| 发表于 2009-6-2 00:13:45 | 显示全部楼层
view的第二个参数好像要是数组的,难道要把结果集组转成二维数组?要怎么写?
发表于 2009-6-2 05:10:07 | 显示全部楼层
view的第二个参数好像要是数组的,难道要把结果集组转成二维数组?要怎么写?
528695 发表于 2009-6-2 00:13

$this->load->view('list', $result->result())
转成二维数组
 楼主| 发表于 2009-6-2 08:31:09 | 显示全部楼层
那页面怎么接收这个二维数组呢?页面那边提示未定义的变量
发表于 2009-6-2 08:48:10 | 显示全部楼层
控制器
$data['yourData'] = $query->result();
$this->load->view('list', $data);
页面
$yourData 这样就可以用了。
 楼主| 发表于 2009-6-2 09:03:57 | 显示全部楼层
对,我现在关键是要取$yourData里面的每行逐个字段,我是初学php,请指点下
发表于 2009-6-2 10:17:28 | 显示全部楼层
用 var_dump 看一下 $yourData 你就知道怎么写循环了。

PS: 我个人不建议 PHP 初学者学习框架。
发表于 2009-6-2 11:28:49 | 显示全部楼层
->result()取出的数据对CI来说,字段是不可知的,
想取得每个字段,用foreach($row as $key=>$value)遍历吧
发表于 2009-6-6 09:45:57 | 显示全部楼层
是这样的
比如$result = array(
"first" => "第一个",
"second" => "第二个",
"thrid" => "第三个",
);
$this->load->view("view_page", $result);
那么在view_page中,数据是这样调用的:
<?php echo $first; ?>
<?php echo $second; ?>
<?php echo $third; ?>
也就是说loadview之后,会把$result里面的内容发到View中,不是直接把$result传过去的。

本版积分规则