我对codeigniter相当新,似乎无法解决这个问题,总之我在理解CodeIgniter框架之间的数据流时遇到了问题。我想要显示的是使用模态从数据库中获取的数据并在视图中显示它们。
我的控制器中的代码是:
$unitData =$this->ClientUnit->getBlockUnits($client_block_ID);
foreach ($unitData->result() as $row){
for ($i=0; $i < 3; $i++) {
$client_unit_name[$i] = $row->client_unit_name[$i];
$unit_owner_name[$i] = $row->unit_owner_name[$i];
}
}
$data['client_unit_name'] = $client_unit_name;
$data['unit_owner_name'] = $unit_owner_name;
$this->load->view('newblock_unit',$data);
我的模态文件是:
function getBlockUnits($client_block_ID) {
$query = $this->db->query('SELECT * FROM client_units where client_block_ID="'.$client_block_ID.'"');
return $query;
}
正如您所看到的,从我的模态和控制器代码来看,问题是因为返回了多行,目前我只得到视图的所有输出中的最后一行,而不是单个行......
答案 0 :(得分:0)
我认为问题在于你没有返回一个对象或数组。在模型中,您应该使用对象:
return $query->result();
或者对于数组:
return $query->result_array();
编辑:您可以在此处阅读有关此内容的所有内容http://ellislab.com/codeigniter/user-guide/database/results.html
答案 1 :(得分:0)
你可以在视图中发送整个数组并将其循环到那里
$unitData =$this->ClientUnit->getBlockUnits($client_block_ID);
$data['unitData '] = $unitData->result_array();
$this->load->view('newblock_unit',$data);
在你的视图中使用循环来获得相应的
foreach($unitData as $row){
echo row['client_unit_name'];
echo row['unit_owner_name'];
}