0
我有一個搜索SQL數據庫的PHP表單。有8個表單字段,每個字段都是可選的。如果一切都保留爲空,則查詢將返回整個數據庫。如果填寫了一個字段,它將過濾一個字段,兩個過濾兩個字段等。我沒有任何問題,直到我想要搜索空條目的能力。因此,例如,我想搜索客戶的姓氏,但沒有主要電話號碼。我已經工作了幾個小時,想不到一個簡單的方法來實現這樣的事情。當你在搜索字段中輸入一個關鍵字來搜索項目在其他項目之上爲空的位置時,我會設想它。因此,如果我將「Smith」放入姓氏並將「NULL」放入電話號碼中,則可以與我的上述示例一起使用。以下是我目前的代碼。PHP SQL搜索表單語法
$query = "SELECT *
FROM customer_search_view
WHERE COALESCE(customer_search_view.first_name,'') LIKE $firstName AND
COALESCE(customer_search_view.last_name,'') LIKE $lastName AND
COALESCE(customer_search_view.customer_id,'') LIKE $customerId AND
COALESCE(customer_search_view.primary_phone,'') LIKE $primaryPhone AND
COALESCE(customer_search_view.email,'') LIKE $email AND
COALESCE(customer_search_view.store,'') LIKE $store AND
COALESCE(customer_search_view.sales_associate,'') LIKE $salesAssociate AND
COALESCE(customer_search_view.bdr_associate,'') LIKE $bdrAssociate AND
COALESCE(customer_search_view.status,'') LIKE $status AND
COALESCE(customer_search_view.lead_category,'') LIKE $leadCategory
ORDER BY created_on DESC LIMIT 0,100";
如果無論如何要搜索什麼東西是LIKE NULL,它也是一個快速修復。