从控制器中检索视图中的数据


retrieving data in view from controller

所以我运行一个查询,并试图返回一个结果集回到我的视图,但当我做<?php foreach ($form_records as $form_record) : ?><?php echo $form_record['fname']; ?> <?php endforeach; ?>我得到未定义的变量:form_records。当我运行查询时,我做错了什么(选择fname, lname from form_manager其中用户名= "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;
            }
      }
    }
h2控制器

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);
                            }   

问题是如何将参数传递给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; ?>

请注意,view中的$form_records是您在$this->load->view('welcome',$data);传递的数组$data的索引

$form_records可能是一个数组,并且查看代码编写器的文档,它将在传递给视图时将这些元素转换为数组元素。

查看此链接: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;?>