我收到错误消息:
我视图中foreach()的参数无效。
我想显示但是收到错误为foreach()
提供的无效参数。我是Codeigniter的新手,无法弄清楚如何解决这个问题。
模型
function get_berita($WHERE=array())
{
$this->db->select('id_berita,judul_berita,content,tanggal');
$this->db->where($WHERE);
$this->db->order_by('id_berita','asc');
$query = $this->db->get('berita_ukm');
return $query -> result_array();
}
控制器
function index()
{
$this->data['berita'] = $this->mberita->get_berita();
$this->data['title'] ='UKM Taekwondo | berita';
$this->data['orang'] = $this->mlogin->dataPengguna($this->session->userdata('username'));
$this->data['contents'] = $this->load->view('admin/berita/view_berita', '', true);
$this->load->view('template/wrapper/admin/wrapper_ukm',$this->data);
}
查看
<tbody>
<?php
$no=1;
foreach ($berita as $dt) {
echo "
<tr>
<td>$dt[id_berita]</td>
<td>$dt[tanggal]</td>
<td>$dt[judul_berita]</td>
<td>$dt[content]</td>
<td><a class='ui tiny blue edit button' href='".base_url()."index.php/admin/berita/edit/$dt[id_berita]'><i class='edit icon'></i></a>
<a class='ui tiny blue edit button' href='".base_url()."index.php/admin/berita/delete/$dt[id_berita]'><i class='trash icon'></i></a></td>
</tr>
";
$no++;
}
?>
</tbody>
请帮我做什么。谢谢。
答案 0 :(得分:0)
你的模型返回一个空集,但foreach需要一个数组才能工作.. 您可以通过在foreach之前嵌入if条件来忽略此错误...
if($berita){
foreach ($berita as $dt) {
echo "<tr>
<td>$dt[id_berita]</td>
<td>$dt[tanggal]</td>
<td>$dt[judul_berita]</td>
<td>$dt[content]</td>
<td><a class='ui tiny blue edit button' href='".base_url()."index.php/admin/berita/edit/$dt[id_berita]'><i class='edit icon'></i></a>
<a class='ui tiny blue edit button' href='".base_url()."index.php/admin/berita/delete/$dt[id_berita]'><i class='trash icon'></i></a></td>
</tr>";
$no++;
}
}
答案 1 :(得分:0)
您的模型没有返回任何值 在将数据发布到控制器之前进行检查 在 模型
中 function get_berita($WHERE=array())
{
$query = $this->db->select('id_berita,judul_berita,content,tanggal')
->from('berita_ukm')
->where($WHERE)
->order_by('id_berita','asc')
->get();
$query->num_rows() > 0 ? return $query->result_array() : array();
}