2013-01-02 88 views
0

我有一個簡單的搜索查詢腳本,當用戶鍵入一個關鍵字時,會引起數據庫中與查詢匹配的任何用戶。mysql中的多個搜索查詢?

目前用戶一次只能通過一個查詢進行搜索,但我想知道如何修改此腳本以便用戶可以搜索多個查詢,因此如果他們鍵入白色英國男性,他們將獲得所有用戶列爲白人,英國人和男性。或者如果他們搜索威爾士40歲以上的女性,他們將獲得所有女性超過40人的威爾士用戶。

$query_for_result=mysql_query("SELECT * 
          FROM ptb_stats 
          WHERE display_name like '%".$query."%' OR and location LIKE '%".$query."%' OR age LIKE '%".$query."%' OR nationality LIKE '%".$query."%' OR hobbies LIKE '%".$query."%' OR ethnicity LIKE '%".$query."%' OR local_station LIKE '%".$query."%' LIMIT 5"); 
    echo "<div class=\"search-results\">"; 
    while($data_fetch=mysql_fetch_array($query_for_result)) 

    { 
+0

更具體。你的問題不夠清楚。乘以查詢究竟是什麼? – Yang

回答

0

你有一個額外的and在那裏,除了你的SQL看起來不錯。 雖然我確實希望你正在消毒$query

您可能想要考慮您是否想要使用ORAND,具體取決於您試圖對搜索進行的操作。您幾乎可以肯定也希望構建您的SQL字符串以僅包含要搜索的列。 例如:

if(isset($query_age)) { 
    $sql_string .= " OR age LIKE '%".$query_age."%'"; 
} 
etc... 
0

您可以實現客戶端調用Ajax又一個PHP頁面至極將使數據庫查詢並返回XML或JSON的答案給客戶端。然後你在本地更新客戶端。