コードは次のとおりです。
<?php
$q = 'SELECT * FROM categories ORDER BY category';
$r = mysqli_query($dbc,$q);
while (list($id,$category) = mysqli_fetch_array($r,MYSQLI_NUM)) {
echo '<li><a href="category.php?id=' . $id . '" title="' . $category . '">' . $category . '</a></li>';
}
?>
変数名 $id および $category が、ループの各反復を通じてデータベースからフェッチされた単一の行に割り当てられているように見えます。ループが最初からやり直すたびに、次の行が選択されます。私の質問は、テーブルの次の行を選択することをどのように知るのですか?
「for」ループがテーブルのすべての行をステップスルーできるように、行にインデックスが付けられているわけではありません。誰かが私にこれを説明できますか?