我有以下代码:
<?php
$select = mysqli_query ($con,"SELECT field_2 FROM info4");
if (! $select) {
die('Query unfunctional ' . mysqli_error($con));
}
?>
<table>
<td><select name="City">
<?php
while ($res=mysqli_fetch_array($select)){
foreach($res as $value){
echo "<option>" . $value . "</option>";
}}
?>
</select></td></table>其中$con是连接。
但这会输出下拉列表,其中所有值都是重复的。例如,如果我的表中有1和2,则输出: 1/1/2/2 (在下拉列表中)。我假设我在我的代码中犯了一个错误--有人会碰巧看到它吗?
提前谢谢。
发布于 2013-04-18 01:35:15
尝尝这个。在这种情况下,foreach循环是不必要的。
<?php
while ($res=mysqli_fetch_assoc($select)){
echo "<option>" . $res["field_2"] . "</option>";
}
?>发布于 2013-04-18 01:35:23
mysqli_fetch_array默认为结果返回类型MYSQLI_BOTH,它同时返回关联值和非关联值。为什么会这样,我不知道,但它返回的数组是:
$res = array(0 => '1', 'field_2' => '1');可以通过使用mysqli_fetch_assoc或将MYSQLI_ASSOC指定为返回值来解决此问题。我的首选解决方案是:
while ($res = mysqli_fetch_assoc($select)) {
echo "<option>$res[field_2]</option>";
}https://stackoverflow.com/questions/16066415
复制相似问题