我有一个包含多个字段的网络表单,搜索数据的用户可能会填写也可能不会填写。想法是用户正在搜索2个或更多参数之间的数据。 E.G:
现在,用户可以选择和组合这些(或所有这些)以识别他们正在寻找的内容。我的所有数据都存储在一个表中。现在我可以使用这些参数集中的任何一个并执行
"SELECT * FROM tbl_blah WHERE price BETWEEN stockp1 and stockp2"
当然可以正常工作。
但是当我必须嵌套多个" WHERE x BETWEEN $ 1和$ 2"时,事情会变得棘手。类型场景。我甚至不确定这是否是最佳方法。我已经四处寻找,但我只是没有得到'我应该使用的声明结构。
答案 0 :(得分:1)
您可以在查询中使用多个。
示例:
SELECT * FROM Chart_Of_Accounts
WHERE (price BETWEEN '$stockp1' AND '$stockp2')
OR (marketcap BETWEEN '$cap1' AND '$cap2')
OR (anotherparam BETWEEN '$param1' AND '$param2');
希望它有所帮助!
答案 1 :(得分:0)
根据用户填写数据的内容动态创建查询。
所以,它会是这样的,
$query = "SELECT * FROM tbl_blah WHERE";
if(isset['price'])
$query = $query + "price BETWEEN stockp1 and stockp2";
if(isset['parameter2'])
$query = $query + " AND parameter2 BETWEEN stockp3 and stockp4";
现在的技巧是检查你是否需要AND或WHERE。