【发布时间】:2013-12-18 10:05:52
【问题描述】:
我需要一个表单中的多个房间,每行都有相同的下拉菜单。到目前为止,这是我的代码:
<?php for ($i=1; $i<=$No_of_rooms; $i++) {?>
<tr class="formspace">
<td class="formleft">Room <?php echo $i ?></td>
<td>
<select name="roomtype[<?php echo $i ?>]">
<?php do { ?>
<option value="<?php echo $row_room['roomtype'] ?>"><?php echo $row_room['room type'] ?></option>
<?php } while ($row_room = mysql_fetch_assoc($room)) ;?>
</select>
</td>
</tr>
<?php }?>
第一行显示正确,但以下下拉菜单为空。看起来 mysql_fetch_assoc 在第一次运行后已经“过期”并且不再工作。显然我不想对每一行重复mySQL查询,那我该怎么做呢?
提前谢谢...
【问题讨论】:
-
你在哪里做查询?在 for 循环之前?
-
嗨尼克。是的,我在 HTML 上方有一个 PHP 代码块,它尽可能多地完成 PHP 工作。
-
为什么,是的,结果集将是“空的”;这就是
while循环首先停止的原因。 -
我建议使用 while 而不是 do-while;没有理由在这里保证一个循环。