微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP通过字符串中搜索查询的位置对MySQL的搜索结果进行排序

我希望我的搜索结果按照从最小到最大的字符串位置的顺序排列.
例如,搜索“banana”返回:

婴儿食品,李子,香蕉和米饭,紧张

香蕉,脱水或香蕉粉

香蕉,原料

面包,香蕉,从配方准备,用人造黄油制成

CAMPBELL Soup Company,V8 SPLASH果汁饮料,草莓香蕉

CAMPBELL Soup Company,V8 SPLASH冰沙,草莓香蕉

CAMPBELL Soup Company,V8 V. FUSION Juices,StrawBerry Banana

因为“香蕉”是结果的第一个字所以想要“香蕉,原始”,并且因为“香蕉”是最后一个字所以想要“CAMPBELL Soup …”最后登场.

我知道我可以使用strpos()来找到位置,但是如何将它们放在一起呢?

解决方法:

您可以在MySQL中轻松完成此操作.


 SELECT  title,LOCATE('banana',title)
 FROM myTable   
 WHERE  LOCATE('banana',title) > 0
 ORDER BY LOCATE('banana',title) 

title表示MysqL表的列.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐