从控制器传递数据加载第二个视图[codeigniter]

时间:2014-05-04 23:24:01

标签: ajax codeigniter foreach views

我对使用$ data将信息从控制器传递到视图有疑问。

例如,我使用此格式填充选择

$data['array_name'] = model_name->model_method();

$this->load->view('main_view',$data);

一切正常,然后我使用Ajax加载有关选择更改的信息:

  1. 信息从视图发送到控制器
  2. 控制器加载模型并从中获取一系列信息
  3. 我使用foreach存储数据['name']
  4. 中的每条记录
  5. 我加载了第二个只包含以下代码的视图
  6. ajax_function()

    $data['name'] = contacts_model->get_contacts($post_value);
    
    $this->load->view('contacts',$data);
    

    第二种观点

    <?php
    foreach ($name as $n)
      {
        echo $n;
      } 
    
    ?>
    

    我收到此错误消息,我检查数组是否为空但不是.... 消息:为foreach()提供的参数无效

    我猜是否因为之前我使用$ data来加载主视图上的信息。

1 个答案:

答案 0 :(得分:0)

在使用$name作为foreach之前,最佳做法是检查它是否为数组, 你可以使用is_array(),

if(is_array($name)) {
    foreach ($name as $n) {
     echo $n;
    }     
}