0
我正在为一个宠物项目网站编写产品搜索引擎并遇到问题。我该如何退还他们用于查询的“匹配多少”订购的产品?现在我有这个,它只会返回查询匹配开始的产品。返回按列“多少匹配”排列的MySQL列表
$sql = "SELECT * FROM `Products` WHERE name LIKE '$query%'";
一个放置在%$查询前面像这样
$sql = "SELECT * FROM `Products` WHERE name LIKE '%$query%'"
达到了预期的输出,但它没有正确排序。例如,用户搜索“p”,他们得到一个列表,如:[含p的单词],[含p的B单词],[P单词]。我希望P字先出现,然后再出现A字。这可能只有MySQL?我查看了ORDER BY,但是按列AFAIK订单。
'ORDER BY LOCATE('$ query',name)'是你可以做的最好的。 –