因此我运行一个查询并尝试将结果集返回到我的视图中,但是当我执行<?php foreach ($form_records as $form_record) : ?><?php echo $form_record['fname']; ?> <?php endforeach; ?>
时,我得到Undefined变量:form_records。运行查询时我做错了什么(从form_manager中选择fname,lname,其中username =“tester”)我成功返回一行,以便查询正常工作。
function retrieve_form_record($username) {
$this->db->select('fname,lname');
$this->db->from('form_manager');
$this->db->where('username', $username);
$query = $this->db->get();
if ($query->num_rows() > 0)
{
$form_records= $query->result_array();
return $form_records;
}
else {
return false;
}
}
}
function load_saved_forms() {
$username = $this->tank_auth->get_username();
$form_records = $this->Form_model->retrieve_form_record($username);
$this->load->view('welcome',$form_records);
}
答案 0 :(得分:2)
问题是如何将参数传递给view
,更改此行:
$this->load->view('welcome',$form_records);
到:
$data['form_records'] = $form_records; //<<--pass data to view right way.
$this->load->view('welcome',$data);
然后您可以在内部视图中执行此操作:
<?php foreach ($form_records as $form_record) : ?>
<?php echo $form_record['fname']; ?>
<?php endforeach; ?>
请注意$form_records
中的view
是您在$data
传递的数组$this->load->view('welcome',$data);
的索引
答案 1 :(得分:1)
$ form_records可能是一个数组,在查看codeigniter的doc时,它会在传递给视图时将它们转换为数组元素。
请参阅此链接:http://ellislab.com/codeigniter/user-guide/general/views.html
但是如果你在你的控制器中这样做了,那就说:
$data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands');
$this->load->view('blogview', $data);
您可以在视图中使用这样的“todo_list”:
<?php foreach ($todo_list as $item):?>
<li><?php echo $item;?></li>
<?php endforeach;?>