如何在我的下拉菜单中首先使美国成为现状?

时间:2014-05-09 19:29:01

标签: php

我只是想知道如何让美国成为我下拉菜单中的第一个选项。我目前有一个国家/地区下拉菜单按名称排序。如果有一种方法我可以让美国首先出现而不重复,这将是非常感激。

这是下拉菜单的代码

$sql=mysql_query("SELECT * from country order by name");
PS:我知道MySQL已经过时或者什么都没有......这只是后端的东西。

4 个答案:

答案 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。