我是codeingiter的新手并且到处寻找解决这个问题但是没有为我工作但问题很简单.. 我想在列表或表中显示我的数据库记录,并使它们可用于单击/使用等..但我不断得到一个未定义的变量错误的查询(我认为已定义)和一个无效的参数提供foreach错误..任何帮助将受到大力赞赏
控制器
public function viewtemplate()
{
$this->load->model('Template_model');
$data['query'] = $this->Template_model->viewtemplate();
$this->load->view('dashboard', $data);
}
模型
function viewtemplate()
{
$query = $this->db->get('users');
return $query->result() ;
}
查看
<tbody>
<?php foreach($query as $row): ?>
<tr>
<td><?php echo $row->idtemplates; ?></td>
<td><?php echo $row->templatestyle ?></td>
<td><?php echo $row->users_temp_id; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
错误1
严重性:注意
消息:未定义的变量:查询
文件名:views / dashboard.php
行号:154
错误2
严重性:警告
消息:为foreach()提供的参数无效
文件名:views / dashboard.php
行号:154
答案 0 :(得分:0)
在foreach之前的视图中添加以下内容,以查看您的控制器是否正在向视图发送任何数据:
<?php echo var_dump($query);?>
如果变量$ query不是一个数组,这就是你在foreach中收到错误的原因,因为它试图使用一个不存在的属性。
修改强>
所以真正的问题是代码在另一个控制器函数上,并且他看到了控制器的索引,其中查询变量未定义。
答案 1 :(得分:0)
首先,你必须在
中写分号<td><?php echo $row->templatestyle ?></td> as
<td><?php echo $row->templatestyle; ?></td>
然后尝试更改控制器中的变量$query
。