我尝试使用表格中的数据填充下拉选项:
<?
$sqloption="SELECT name FROM user";
$resultoption=mysql_query($sqloption);
$options="";
while ($row=mysql_fetch_array($resultoption))
{
$nameoption[]=$row['name'];
$options.="<OPTION>".$nameoption</option>";
}
?>
<SELECT>
<OPTION>Choose user<?=$options?>
</SELECT>
按钮显示但没有选项。我该如何纠正?
答案 0 :(得分:1)
为什么要将它们存储在另一个数组中?修复错误。只是做 -
<强> PHP 强>
while ($row=mysql_fetch_array($resultoption))
{
$options.= "<OPTION>". $row['name'] ."</OPTION>";
}
<强> HTML 强>
<SELECT>
<OPTION>Choose user</OPTION>
<?=$options?>
</SELECT>
答案 1 :(得分:0)
<?
$sqloption="SELECT name FROM user";
$resultoption=mysql_query($sqloption);
$options="";
while ($row=mysqli_fetch_array($resultoption)) {
$nameoption[]=$row['name'];
$options.="<OPTION>".$row['name']."</option>";
}
?>
<SELECT>
<OPTION>Choose user<?=$options?>
</SELECT>
你忘记了“。”在$nameoption
之后。
顺便说一下,你做不到$options.="<OPTION>".$nameoption</option>";
因为它是一个数组。 PHP无法直接打印array()
。
如果您需要,我会保留您的$nameoption
。另外,我建议从mysql
切换到mysqli
因为mysql_
已被弃用。
答案 2 :(得分:0)
您可以使用多种方法填充下拉菜单:
mysql_fetch_array()将结果行提取为关联数组,数字数组或两者。它返回一个与获取的行对应的字符串数组,如果没有更多的行,则返回FALSE。返回数组的类型取决于$ result_type的定义方式。
<?php
$sql="SELECT name FROM user";
$result=mysql_query($sql);
?>
<select name="user">
<?php while ($row=mysql_fetch_array($result)){ ?>
<option value="some_value"><?php echo $row['name'];?></option>
<?php } ?>
<select>
mysql_fetch_assoc()将结果行作为关联数组提取。 (列名为键)
<?php while ($row=mysql_fetch_assoc($result)){ ?>
<option value="some_value"><?php echo $row['name'];?></option>
<?php } ?>
mysql_fetch_object()将结果行作为对象提取。
<?php while ($row=mysql_fetch_object($result)){ ?>
<option value="some_value"><?php echo $row->name;?></option>
<?php } ?>