【问题标题】:CodeIgniter: load view in foreach loopCodeIgniter:在 foreach 循环中加载视图
【发布时间】:2015-04-04 13:27:02
【问题描述】:
我的控制器中有这段代码:
$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;
但视图根本无法加载。问题可能出在哪里?
感谢您的回答!
【问题讨论】:
标签:
php
codeigniter
model-view-controller
【解决方案1】:
你应该在视图中使用循环并在循环中编写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>
【解决方案2】:
试试这个:
$array = $this->get_latest_posts(5, 0);
然后将此数组传递给视图,
$this->load->view('blog_page', $array);
在您查看页面中,您可以使用该数组。
【解决方案3】:
对于在尝试将另一个视图作为 for 循环内的组件加载时仍然遇到此问题的任何人...
确保在将变量传递给视图之前传递包裹在数组中的变量。
$array = $this->get_latest_posts(5, 0);
$data['row'] = $row;
foreach($array as $row){
$this->load->view('blog_page', $data);
}