2017-09-23 293 views
-1

因此,我定義了一個用於從數據庫搜索並將結果傳遞給ajax的函數。用多個詞搜索PHP搜索

function do_search() { 
    $search=$_POST['dname']; 
    global $wpdb; 
    $sql="SELECT * FROM employee WHERE `firstname` LIKE '%{$search}%' OR `lastname` LIKE '%{$search}%' OR `department`LIKE '%{$search}%' OR `phone` LIKE '%{$search}%' OR `job_title` LIKE '%{$search}%' OR `cell_phone` LIKE '%{$search}%' OR `image`LIKE '%{$search}%' OR `email` LIKE '%{$search}%' OR `address` LIKE '%{$search}%' OR `room` LIKE '%{$search}%';"; 
    $result2=$wpdb->get_results($sql); 
    echo json_encode($result2); 
    wp_die(); 
} 

但我的問題是它的工作只有一個詞。我試着用「」爆炸$ _POST值。然後使foreach和建立多個查詢,如$查詢[我],但我不能得到任何迴應?

當迴應結果時如何實現該功能 - 那麼它會在每個單詞與這些字段條目進行比較時產生回聲?

+1

不清楚你在問什麼 – Ravi

+0

我現在只能回顯單個詞搜索。多詞查詢不會導致任何結果。 –

回答

1

相反爆炸的搜索查詢和生成噸的條件下,你可以使用簡單的「絕招」:

$search = $_POST['dname']; 
$search = str_replace(' ', '%', $search); 

$query = "SELECT * FROM yourTable WHERE col1 LIKE '%{$search}%' OR col2 LIKE '%{$search}%' "; 

不要忘了逃跑輸入或參數化查詢。

+0

超級,它的工作!謝謝! –