PHP 选择下拉选项通过 mysql 将特定选项放在顶部

标签 php mysql sql-order-by selection

我的国家/地区表包含以下列:rank_id 和country_name。

现在是按名称排序,但我正在尝试将一些特定国家/地区按排名顺序放在列表顶部,然后将其余国家/地区通过名称进行排序。

这是我的查询:

foreach ($db->query("SELECT * FROM " . config_item('cart', 'table_countries') . "") as $row)
$countries[] = $row;

有什么想法吗?

最佳答案

如果您添加默认值为 0rank_order 列,然后针对您希望位于列表顶部的少数特定国家/地区将其更改为更高的数字.

然后您可以使用此查询来获取数据:

SELECT * FROM table_countries ORDER BY rank_order DESC, country_name

按排名排序的行将始终排在第一位(按降序排列),因为它们的 rank_order 高于 0。其余的将按country_name的字母顺序排序。

关于PHP 选择下拉选项通过 mysql 将特定选项放在顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13520424/

相关文章:

php - Route::resource 和 Route::controller 等同于流明?

php - 如何从 3 个字段(月、日、年)中获取值并将所有这三个字段作为单个字段插入(MySQL)?

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

php - 使用PHP上传文件到MySQL数据库

PHP 和 Ajax 将文件路径上传到 Mysql 并将重命名的图像保存到文件夹失败

PHP, MySQL select, order by field and group it

php - CakePHP 中的存储过程错误

mysql - 获取 SELECT 语句中的最后 3 行并使其成为 ASC 顺序

Mysql Order By After Group?

mysql - 获取 jhi_persistenet_audit_event 表的当前记录用户详细信息