PHP使用表中的数据填充

时间:2015-06-24 09:25:21

标签: php

我尝试使用表格中的数据填充下拉选项:

<?
$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>

按钮显示但没有选项。我该如何纠正?

3 个答案:

答案 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 }  ?>