2011-02-15 79 views
0

我有一些字段的表單:許多情況下,MySQL查詢

 

name 
email 
min_age 
max_age 
city 
country 
 

案例1:
所有字段是沒有必要的,因此當用戶提交表單,他應該得到的所有結果桌子。

我可以驗證字段是否爲空,所以我創建了一個沒有WHERE子句的select查詢。

案例2:
在第二種情況下,用戶可以設置某些字段,可以留下一些空白。

我在想我是否應該使用ORAND或Both? 因爲我有很多情況下..

簡單查詢:


SELECT * 
FROM TABLE WHERE name LIKE % $name % 
OR email LIKE % $email % 
OR (age BETWEEN $min_age AND $max_age) 
OR city LIKE % $city % 
OR country LIKE % $country % 
ORDER BY . . . 
+0

你可以給用戶選擇或/和,默認我認爲需要「或」,以獲得更多的結果 – 2011-02-15 11:08:08

回答

0

你爲什麼不乾脆創建這取決於用戶通過提交表單查詢? 什麼是底層語言?

$qry = "SELECT * FROM TABLE WHERE"; 
if(isset($name)) $qry .= " name LIKE % $name % "; 
...