2011-02-15 65 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 % "; 
...