Codeigniter - 在表/列表中显示数据库记录

时间:2018-03-09 20:41:24

标签: php mysql codeigniter

我是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

2 个答案:

答案 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