我只是想知道如何让美国成为我下拉菜单中的第一个选项。我目前有一个国家/地区下拉菜单按名称排序。如果有一种方法我可以让美国首先出现而不重复,这将是非常感激。
这是下拉菜单的代码
$sql=mysql_query("SELECT * from country order by name");
PS:我知道MySQL已经过时或者什么都没有......这只是后端的东西。
答案 0 :(得分:2)
选项1(推荐)使美国成为结果集中的第一个结果
SELECT *
FROM country
ORDER BY case when name = 'USA' then 1 else 2 end,
name ASC
选项2 :不要在查询中选择它并先显示它(硬编码)
$sql=mysql_query("SELECT * from country where name != 'USA' order by name");
选项3 :首先显示它(硬编码),然后在迭代结果集时跳过
if ($row['name'] === 'USA') {
continue;
}
答案 1 :(得分:1)
您可以使用 UNION :
SELECT * FROM country WHERE name = 'USA'
UNION SELECT * FROM country WHERE name != 'USA'
答案 2 :(得分:0)
选项1
<select>
<option value="1">USA</option>
<?php
$query = "SELECT * from country where name != 'USA' order by name";
$result = mysqli_query($bd,$query);
while ($country = mysqli_fetch_assoc($result)) {
echo "<option value='".$country['cod']."'>".$country['name']."</option>";
}
?>
</select>
选项2
<select>
<?php
$query = $query = "SELECT * from country where name != 'USA' order by name"; $result = mysqli_query($bd,$query);
while ($country = mysqli_fetch_assoc($result)) { ?>
<option value="<?php echo $country['cod']; ?>" <?php if ($country['name']=='USA') {echo SELECTED;}?>><?php echo $country['name']; ?></option>";
<?php } ?>
</select>
答案 3 :(得分:0)
ORDER BY(country_name ='USA')DESC,country_name ASC
此处country_name为国家/地区表中的字段
将以上行添加到您的查询中。然后在下拉列表中选择onLoad USA。