我想使用 <?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; ?>
最佳答案
我会推荐 View 中 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; ?>
编辑 - 指出您的语法问题。
<?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
第一个分号就像编写这样的 foreach...
foreach ($array as $ele) { ; //<--this would throw an error just like it should above.
//do stuff
}
与问题要点无关的意见
您应该在 Controller 中处理数据,并简单地发送要在 View 中显示的数据数组,而不是整个查询对象。
所以...
Controller
$query = $this->db->query('SELECT * FROM users');
$data['users'] = $query->result_array();
$this->load->view('users_view',$data);
关于php - Codeigniter 从数据库填充表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6018792/