我有以下代碼以在具有所有三個名稱的字段中搜索名稱,所以我已經被迫爆炸字符串以獲得更好的結果,如下所示如何按照爆炸字符串中的名字(SQL)
$search_terms = explode(" ", $key);
$count = count($search_terms);
$tick= 0;
$query = "";
for($i = 0; $i < $count; $i++) {
$tick++;
$query .= "SELECT * ";
$query .= "FROM agents ";
$query .= "WHERE names ";
$query .= "LIKE '%".$search_terms[$i]."%' ";
$query .= "OR company LIKE '%".$search_terms[$i]."%' ";
if($tick != $count)
$query .= " UNION ";
}
$query .="ORDER BY names ASC ";
問題是,一旦像Lawrence Gabriel和我的數據庫這樣的搜索查詢確實有Lawrence Gabriel,而且還有Edward Gabriel,我會得到Edward Lawrence之前列出的Edward結果。 我想要列出所有'Gabriels',但我的結果是按搜索框中鍵入的名字排序的。如果名字,第二個名字在單獨的列中,這會更容易。
我該如何達到預期的效果?
我想從表中檢索所有列,因此SELECT * – andromeda
請選擇此項:[Mysql:Order by like?](http://stackoverflow.com/questions/3609166/mysql-order-by-like ) – AbraCadaver