我的国家/地区表包含以下列:rank_id 和country_name。
现在是按名称排序,但我正在尝试将一些特定国家/地区按排名顺序放在列表顶部,然后将其余国家/地区通过名称进行排序。
这是我的查询:
foreach ($db->query("SELECT * FROM " . config_item('cart', 'table_countries') . "") as $row)
$countries[] = $row;
有什么想法吗?
最佳答案
如果您添加默认值为 0
的 rank_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/