问题标题说明了这一切:我想循环遍历每一行,但我只得到其他所有行。有趣的是,当我使用mysql_num_rows,如下所示,它得到正确的计数。这是怎么回事?mysql_fetch_array和while循环意外返回所有其他记录
$query = "SELECT * FROM `staff`";
$result = mysql_query($query) or die(mysql_error());
$count = mysql_num_rows($result);
echo '<form action="" method="post"><ul>';
while ($row = mysql_fetch_array($result)){
echo '<li>' . $row['name'] . '
<select>
';
$i = 1;
while ($i <= $count) {
echo '<option value="' . $i . '">' . $i . '</option>';
$i++;
}'
</select>
</li>';
}
难道是因为我在计数吗?我也需要数数。这是一个重新排序的应用程序,所以我需要能够改变每个人的位置,但选项只能是可用职位的总数。无论如何,也许有更合乎逻辑的方法来做到这一点?
你的结构是完全错误的。你的嵌套while循环对我来说没有意义。 – Ryan
那好吧帮帮我吧!对于我数据库中的每个员工记录,我希望回显一个列表项以及一个选项,其数量等于数据库中的条目数。我现在可以看到,没有任何东西连接选择的工作人员,但这应该是一个简单的修复 – idelest
其非常接近,除了事实,我只得到一半的列表项目,因为我需要的事实 – idelest