Mysql:只显示最合适的LIKE请求

时间:2014-12-11 17:12:21

标签: php mysql sql

我尝试进行“实时搜索”。

我想要什么

搜索字符串1:“%ete%”

搜索字符串2:“%er%”

| City   | Land    | Artist |
-----------------------------
| Köln   | Germany | Peter  |
| Bonn   | Germany | Bernd  |
| Berlin | Germany | Karl   |
-----------------------------

结果1:彼得

结果2:德国 AND 柏林 AND 彼得 AND BERND

我有一个jquery keyup事件,一个ajax和这个php / mysql脚本:

$query=$_POST['value'];

$result='<ul class="db_s_answer">';
$abfrage = mysql_query("SELECT * FROM imgdb WHERE artist LIKE '%".$query."%' OR ort LIKE '%".$query."%' LIMIT 5");

while ($row = mysql_fetch_object($abfrage)) {

    $ergebnis=preg_replace("/".$query."/i","<b>$0</b>",HERE THE MOST FITTING VARIABLE,-1);
    $result.='<li><div><p>'.$ergebnis.'</p></div></li>';

}

$result.='</ul>';

1 个答案:

答案 0 :(得分:1)

您可以使用UNION

"SELECT * FROM (
    SELECT artist FROM imgdb WHERE artist LIKE '%".$query."%'
    UNION
    SELECT ort FROM imgdb WHERE ort LIKE '%".$query."%' 
) LIMIT 5"