【发布时间】:2013-01-12 11:35:07
【问题描述】:
我已经使用 mysql 数据库制作了输入选择选项卡。
使用时:
<select name="membership_ID" id="membership" tabindex="1" required="required">
<option value="">-- Membership Type --</option>
<?php $get_membership = mysql_query("SELECT * FROM membership");
while($row_membership = mysql_fetch_array($get_membership, MYSQL_ASSOC)): ?>
<option value="<?php echo $row_membership['ID']; ?>"> <?php echo $row_membership['name']; ?> </option>
<?php endwhile; ?>
</select>
使用 For 循环:
<?php $get_membership = mysql_query("SELECT * FROM membership");
$numRows = mysql_num_rows($get_membership);
for($i=1; $i<= $numRows; $i++){
$row_membership = mysql_fetch_array($get_membership, MYSQL_ASSOC) ?>
<option value="<?php echo $row_membership['membership_ID']; ?>"> <?php echo $row_membership['membership_name']." - ".$row_membership['membership_price']." Rs"; ?> </option>
<?php } ?>
这很好用,并且在没有 while 循环时将值作为选项放置。但是当 while/for 循环放置时,不会显示 while/for 循环中的选项。 注意:表成员包含数据。
【问题讨论】:
-
首先,您不应该使用
mysql_*方法,因为它们已被弃用,请改用mysqli或PDO。其次,您在代码中没有做任何事情来处理数据库中的任何错误情况。添加这个,以便您可以清楚地了解您可能遇到的错误。第三,您可能应该在代码的早期执行一个循环,直到您没有这个意大利面条代码。如果查询失败,为什么还要尝试输出select元素?
标签: php mysql for-loop while-loop