0
我一直在研究这个,我想我已经找到了最好的解决方案,但我不是100%确定。我对PDO有很好的处理,但这是我第一次在mysql中遇到CASE。此代码正在工作,但我想知道它是否有效?如果我有多个键,我将不得不编写许多数组才能搜索和排序。有没有更短的方式来编写这段代码,或者这是最有效的?谢谢!PDO使用MySql案例与绑定变量排序
$filters = "
AND (name LIKE :keys
OR note LIKE :keys
OR tagnum = :skeys)
";
$order = "
ORDER BY
CASE
WHEN tagnum = :skeys THEN 0
WHEN name = :skeys THEN 1
WHEN name LIKE :lkeys THEN 2
WHEN name LIKE :rkeys THEN 3
ELSE 4
END
ASC
";
$arr[':keys'] = "%$keys%"; // both wild cards
$arr[':skeys'] = $keys; // stripped keys, no wild cards
$arr[':lkeys'] = "$keys%"; // left key, right wild card
$arr[':rkeys'] = "%$keys"; // right key, left wild card
好信息有。谢谢。 – b3tac0d3