CodeIgniter:在foreach循环中加载视图

时间:2015-04-04 13:27:03

标签: php codeigniter model-view-controller

我的控制器中有这个代码:

$array = $this->get_latest_posts(5, 0);
foreach($array as $row){
  $this->load->view('blog_page', $row);
}

在我的模型中它是这样的:

// Some SQL query here;

$array = $query->result_array();
return $array;

但视图根本无法加载。问题可能在哪里?

谢谢你的回答!

3 个答案:

答案 0 :(得分:2)

你应该在视图中使用循环并在循环中编写html代码。它应该像:

$array['all_posts'] = $this->get_latest_posts(5, 0);
$this->load->view('blog_page', $array);
视图文件中的

<ul>

<?php     foreach($all_posts as $post) { ?>
      <li><?php echo $post->name; ?></li>//assuming the name is attribute of post.
<?php  } ?>
</ul>

答案 1 :(得分:0)

试试这个:

$array = $this->get_latest_posts(5, 0);

然后传递此数组以查看,

$this->load->view('blog_page', $array);

在您查看的页面中,您可以使用该数组。

答案 2 :(得分:0)

对于试图将另一个视图作为组件加载到for循环中的人仍然存在此问题的人...

在将变量传递给视图之前,请确保将变量包装在数组中。

$array = $this->get_latest_posts(5, 0);
$data['row'] = $row;
foreach($array as $row){
  $this->load->view('blog_page', $data);
}