用数据库中没有重复的字段填充下拉列表


Populate dropdown with fields from database with no duplicates?

我有以下代码:

<li>
<label>Manufacturer</label>
<select name="brand">
<?php 
$sql = mysql_query("SELECT CarMake FROM cars");
while ($row = mysql_fetch_array($sql)){
  echo "<option value='"owner1'">" . $row['CarMake'] . "</option>";
}
?>
</select>

我唯一的问题是,CarMake字段中列出了不止一次的制造商,即宝马被列出不止一次,所以发生的事情显然是宝马在下拉列表中显示不止一次。有没有办法让制造商按字母顺序显示,每个只显示一次?

有没有办法在下拉列表中添加Any选项,以便用户可以选择按任何品牌而不是特定品牌进行搜索,或者不能这样做?

$sql = mysql_query("SELECT DISTINCT CarMake FROM cars ORDER BY CarMake ASC");
<li>
<label>Manufacturer</label>
<select name="brand">
<?php 
$sql = mysql_query("SELECT distinct CarMake FROM cars order by CarMake");
while ($row = mysql_fetch_array($sql)){
echo "<option value='"owner1'">" . $row['CarMake'] . "</option>";
}
?>
</select>