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)'是你可以做的最好的。 –