0

我正在尝试使用 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

4 回答 4

1

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

尝试这个

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

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

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

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

于 2013-04-08T06:42:53.603 回答
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>
于 2013-04-08T06:45:47.343 回答
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>
于 2013-04-08T06:47:33.607 回答
-1

忘记了最简单的部分:

$aa .= "{$row['itemName']}";

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

于 2013-04-08T06:43:23.203 回答