在控制器里查出结果怎么转发到页面
控制器$result=$this->db->get('table1');
$this->view('list',$result);
页面
foreach($result->result() as $row){
echo $row['title'];
}
我这样写经测试$result是空的,这是什么原因? 上面的第二行代码写少:$this->load->view('')
问题还没解决,继续求解。 view的第二个参数好像要是数组的,难道要把结果集组转成二维数组?要怎么写? view的第二个参数好像要是数组的,难道要把结果集组转成二维数组?要怎么写?
528695 发表于 2009-6-2 00:13 http://codeigniter.org.cn/forums/images/common/back.gif
$this->load->view('list', $result->result())
转成二维数组 那页面怎么接收这个二维数组呢?页面那边提示未定义的变量 控制器
$data['yourData'] = $query->result();
$this->load->view('list', $data);
页面
$yourData 这样就可以用了。 对,我现在关键是要取$yourData里面的每行逐个字段,我是初学php,请指点下 用 var_dump 看一下 $yourData 你就知道怎么写循环了。
PS: 我个人不建议 PHP 初学者学习框架。 ->result()取出的数据对CI来说,字段是不可知的,
想取得每个字段,用foreach($row as $key=>$value)遍历吧 是这样的
比如$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传过去的。
页:
[1]
2