可以直接将Model的返回值传递给View吗?
Modelfunction show_company($id) {
$sql = "select * from company where id = ?";
$query = $this->db->query($sql, array($id));
return $query->result_array();
}
Controller
function show_company($id) {
$this->load->model('Company_Model','Company');
$result = $this->Company->show_company($id);
print_r($result);
$this->load->view('show_company',$result);
//$data = array('values' => $result);
//$this->load->view('show_company',$data);
}
这种情况下,View中怎么获取数据啊?
如果Controller中是使用$data的话,我使用
<?php echo $values['name'] ?>
可以得到数据
可是如果只有一唯的数组呢?
虽然这是很小白的问题...不过还是希望有路过的能回复一下...{:3_65:} 用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->result_array())看看结构就明白了 用foreach,->result_array()返回的东西,无论是一条还是一万条,都可以用foreach遍历
楼主var_dump(->resu ...
visvoy 发表于 2010-1-6 23:14 http://codeigniter.org.cn/forums/images/common/back.gif
foreach遍历倒是知道,因为返回的就一条数据,所以想说有没有直接的方法
我是用print_r($result);查看数组的结构的 看下应用程序流程图就知道了。
controller是view与model的中间层 个人认为是不可以直接传递的。。 返回一条数据看这里 http://codeigniter.org.cn/user_guide/database/results.html
如果找不到只能说明你不仔细。 Model:
function show_company($id) {
$sql = "select * from company where id = ?";
$query = $this->db->query($sql, array($id));
return $query->row_array(); //返回单行
}
然后Controller:
$result = $this->Company->show_company($id);
$data['result'] = $result['name'];
$this->load->view('show_company',$data);
这样View就可以:
$result这么用了。。。。。 支持。。。。。
我一般用 result() 和 row()
页:
[1]