使用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表的列.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...