[英]PHP/MySQL search results - exact match first
假设我有一系列用户正在通过 JQuery 自动完成下拉菜单搜索的选项:
希普莱克
湖
上湖
下湖
当用户输入“Lake”时,他们会得到按字母顺序排序的结果:
下湖
湖
希普莱克
上湖
有问题的代码类似于
"SELECT name FROM names WHERE name LIKE '%".$q."%' ORDER BY name ASC"
但我想要的是,如果查询完全匹配一个名称,它会首先出现,然后按字母顺序出现其他所有内容 - 所以
湖
下湖
希普莱克
上湖
如何做到这一点?
您始终可以添加ORDER BY
子句:
ORDER BY name=? DESC, name
首先按完全匹配排序,然后按实际值排序。 ?
表示搜索词的占位符值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.