使用MySQL查询结果填充下拉HTML菜单

时间:2013-04-08 06:41:02

标签: php html mysql

我正在尝试使用MySQL查询的结果填充HTML下拉菜单。查询运行正常,不会丢失任何错误,但由于某些奇怪的原因,结果将无法正确显示。

<?php
    $query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'";
    $result = mysql_query($query) or die("Unable to query CPU parts");
    while($row=mysql_fetch_array($result)) {
        $option .= "<option value='{$row['itemName']}'></option>";
        }
?>
    <select name="cpu"><? echo $option; ?></select>

我很确定它位于$option .= ... ;的某处,但我似乎无法弄明白。

4 个答案:

答案 0 :(得分:1)

您没有打印要在下拉列表中显示的值

试试这个

while($row=mysql_fetch_array($result)) {
    $option .= "<option value='{$row['itemName']}'>{$row['itemName']}</option>";
    }

我看到你在这里使用短标签

<select name="cpu"><? echo $option; ?></select>

请确保您在php.ini中启用了短标记

答案 1 :(得分:0)

两件事:

您需要初始化$ option并打印要在下拉列表中显示的值

<?php
$query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'";
$result = mysql_query($query) or die("Unable to query CPU parts");
$option = "";
while($row=mysql_fetch_array($result)) {
    $option .= "<option value='{$row['itemName']}'>{$row['itemName']}</option>";

}
?>

<select name="cpu"><? echo $option; ?></select>

答案 2 :(得分:0)

似乎您忘记在<option></option>字段中添加值,您只需设置提取$_POST[]的值,但不能查看。 :d

同时看到要连接的$option变量似乎您最初已经声明了它 如果不是你需要首先声明它。因为这可能导致错误未定义的变量。

<?php
    $query = "SELECT * FROM parts WHERE itemName LIKE 'Processors:%'";
    $result = mysql_query($query) or die("Unable to query CPU parts");
    $option = '';
    while($row=mysql_fetch_array($result)) {
        $option .= '<option value='.$row['itemName'].'>'. $row['itemName'].'</option>';
        }
?>
    <select name="cpu"><?php echo $option; ?></select>

答案 3 :(得分:-1)

忘了最简单的部分:

$ aa。=“{$ row ['itemName']}”;

我需要添加要在选项标签之间显示的实际标签:)