Codeigniter从数据库填充表

kes*_*nez 2 php database foreach codeigniter html-table

我想将我的数据库中的所有数据填充到表中,<?php foreach; ?>但我无法使其工作.请检查我的代码:

controller
$data['query'] = $this->db->query('SELECT * FROM users');
$this->load->view('users_view',$data);

View
<?php foreach ($query->result_array() as $row)
{ ;?>
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php } ?>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

jon*_*ohn 5

我会在视图中推荐你的foreach的替代语法......

看起来你应该有一些语法错误.

<?php foreach ($query->result_array() as $row): ?>
    <tr>
        <td><?php echo $row['usrID'];?></td>
        <td><?php echo $row['usrName'];?></td>
        <td><?php echo $row['usrPassword'];?></td>
    </tr>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

编辑 - 指出您的语法问题.

<?php foreach ($query->result_array() as $row)
{ ;?> //<---- semicolon?
<tr>
<td><?php echo $row['usrID'];?></td>
<td><?php echo $row['usrName'];?></td>
<td><?php echo $row['usrPassword'];?></td>
</tr>
<?php } ?>
<?php endforeach; ?> //<--- no need for this when using regular foreach
Run Code Online (Sandbox Code Playgroud)

这个第一个分号就像写这样的foreach ......

foreach ($array as $ele) { ; //<--this would throw an error just like it should above.
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

意见除了问题之外

您应该在控制器中处理数据,只是发送要在视图中显示的数据数组,而不是整个查询对象.

所以...

调节器

$query = $this->db->query('SELECT * FROM users');
$data['users'] = $query->result_array();
$this->load->view('users_view',$data);
Run Code Online (Sandbox Code Playgroud)