0

为了在 php 中创建动态表,我$count从查询中设置变量,该变量计算特定表中的行数。然后我想创建一个具有确切行数的表作为 html 表:

for($i=1;$i=<$count;$i++){
    echo"<tr><td>$name</td><td>$rights</td></tr>";
}

这就是我希望表格显示的方式。但是每次调用 for 循环时,应该从数据库表中获取$name和的值。$rights但是我应该如何处理呢?我想到了一个简单的查询,从 ID 等于 i 的行中选择名称。但后来我记得,当我从表中删除一个条目时,总会有间隙。例如,当有 3 个条目并且我删除了第二个条目时。只有2个条目;所以第二行的名称,ID 为 3,永远不会被选中。有没有办法以适当的方式处理这个问题?

4

1 回答 1

2

您不会使用 afor而是将 awhile或 aforeach用于查询的结果。

<?php
$db = new PDO($dsn, $user, $pass);
$stmt = $db->query('SELECT id, rights FROM the_table');
?>

<table>
<thead>
<tr>
  <th>Id</th>
  <th>Rights</th>
</tr>
</thead>
<tbody>
<?php if($stmt !== false): ?>
<?php foreach( $stmt as $row): ?>
  <tr>
    <td><?php echo $row['id'] ?></td>
    <td><?php echo $row['rights'] ?></td>
  </tr>
<?php endforeach; ?>
<?php endif; ?>
</tbody>
</table>
于 2012-11-05T21:05:16.177 回答