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番目のエントリを削除した場合。エントリは2つだけです。したがって、IDが3である2番目の行の名前は選択されません。この問題を適切な方法で処理する方法はありますか?

4

1 に答える 1

2

クエリの結果でforawhileまたはaを使用することはありません。foreach

<?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 に答える