我的下拉框使用此代码的倍数正常工作,我承认,这是非常简陋的:
$sql = "SELECT Country FROM engravers order by Country";
$result = mysql_query($sql);
echo "<select name\\='Country'>";
echo "<option value='$_POST'>Country</option>";
while ($row = mysql_fetch_array($result)) {
echo "<option value='" . $row['Country'] . "'>" . $row['Country'] . "</option>";
}
echo "</select>";
唯一的问题是,如果我在该字段中有多个项目,我会得到每个项目的响应,例如,在我的测试数据库中,有两行以澳大利亚作为国家/地区。然后,我的下拉令澳大利亚两次。之后,当有大约一百个澳大利亚参赛作品时,这将是一个问题。
如果有一个空白字段,我会在下拉框中看到一个空白行。我似乎无法找到解决方案。有没有更好的方法来编写没有这样做的下拉代码。不幸的是,作为一个新手,我使用的是我能理解的最简单的代码,但结果看起来就是这样。我们将非常感激地接受任何帮助。
答案 0 :(得分:0)
尝试此查询:
SELECT DISTINCT Country
FROM engravers
WHERE Country <> ''
ORDER BY Country
SELECT DISTINCT
将处理倍数 - 如果有100个国家/地区=澳大利亚行,则只会选择一行。
WHERE Country <> ''
将排除国家/地区具有空值的所有行。您还可以包含AND Country IS NOT NULL
以排除NULL值。
参考文献: