我有以下問題:我想讓用戶將過濾器應用於數據庫搜索。 我有三個過濾器,A,B和C.所有這些過濾器都可以是「空的」,因爲用戶不關心它們並選擇「任何」。現在我想檢查這個查詢對數據庫記錄。我使用的是正常的MySQL查詢在PHP和MySQL可選WHERE條件
$db_q = "Select * from table where row1 = '" . $A . "' and row2 = '" . $B . "' and row3 =
'" . $C . "'";
只要用戶輸入特定的A,B,C任何能正常工作(!=「任何」)。當選擇「any」時,我得到如下的結果:「select * from table where row1 =」any/all「等等。」我似乎無法弄清楚正確的語法(如果它甚至可能),我想避免混亂的情況區分(如果A ==任何,執行選擇;如果B ==空...等等)。
任何幫助,非常感謝。
用戶是否選擇框從選擇濾波器? – 2013-03-04 22:10:04
請修改您的標題以更具描述性。 – 2013-03-04 22:11:03
如果一個字段未被填充/選擇了'any',則不要添加該條件:構建sql語句的第一部分並根據其值添加條件。 – jeroen 2013-03-04 22:11:36