下拉列表未显示

时间:2016-05-05 06:03:06

标签: php html mysql mysqli

我使用mysql和php填充我的下拉菜单。我将内容存储在表格中。我将它们称为需要它们的页面的头部,然后在需要的地方插入结果。我这样做是为了让最终用户可以从UI更新自己的下拉列表。它还节省了我不得不一遍又一遍地输入血腥的东西。我完成了一些下拉数字列表。通常的事情,选择一个数字等。工作一个享受。这个新词是用于单词的。我知道sql从数据库获取数据并且下拉确实会下降,但是您无法在页面上看到任何内容。查看页面源显示数据在页面中。它只是可见。嵌入页面的代码与编号的下拉列表完全相同。我很难过。我应该指出,使用代码填充下拉列表是由该组中的某个人教给我的。对此我非常感激。

//POPULATE RISK AREA
$sql = "SELECT  riskArea FROM tblriskarea ORDER BY riskArea ASC";
$result = $conn->query($sql);
if (!$conn->query($sql)) {
    echo "query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}

$areaOptions = "";
while($row = $result->fetch_assoc()){
    $areaOptions .= '<option value="'.   $row['riskArea'].'">';
}

因此在表中显示它的代码是:

<select name="riskarea" style="width:100px" ><?php echo "$areaOptions";   ?></select></td>

但我一无所获。有什么东西跳出来吗?

5 个答案:

答案 0 :(得分:3)

您尚未输入html结束标记</option>。使用以下代码:

while($row = $result->fetch_assoc()){
    $areaOptions .= '<option value="' . $row['riskArea'] . '">"' . $row['riskArea'] . '"</option>';
}

答案 1 :(得分:2)

您忘记填写选项标记:

$areaOptions = "";
while($row = $result->fetch_assoc()){
    $areaOptions .= '<option value="'.$row['riskArea'].'">'.$row['riskArea'].'</option>';
}

在选择标记中:

<select name="riskarea" style="width:100px" ><?php echo $areaOptions;   ?></select></td>

答案 2 :(得分:2)

代码中有两个错误

1)您的连接变量为$conn而非$mysqli 因此,您可以使用

检查查询错误
if (!$conn->query($sql)) {
echo "query failed: (" . $conn->errno . ") " . $conn->error;
}

2)忘记写下文本并关闭下拉列表中的选项。这将是

$areaOptions = "";
while ($row = $result->fetch_assoc()) {
    $areaOptions .= '<option value="' . $row['riskArea'] . '">"' . $row['riskArea'] . '"</option>';
}

答案 3 :(得分:2)

必要的更改:

1)<option>文字未显示。

2)<option>没有关闭。

更正后的代码:

//POPULATE RISK AREA
$sql = "SELECT  riskArea FROM tblriskarea ORDER BY riskArea ASC";
$result = $conn->query($sql);
if (!$conn->query($sql)) {
    echo "query failed: (" . $mysqli->errno . ") " . $mysqli->error;
}
$areaOptions = "";
while($row = $result->fetch_assoc()){
    $areaOptions .= '<option value="'.   $row['riskArea'].'">' . $row['riskArea'] . '</option>';
}

答案 4 :(得分:1)

您没有显示文字,因此选项值在选择下拉列表中不可见。

$areaOptions .= '<option value="'. $row['riskArea'].'">'; 

这应该是这样的

$areaOptions .= '<option value="'. $row['riskArea'].'">.'$row['riskArea']'.</option>';