是否可以根据用户选择的内容动态修改where条件? 我正在创建一个有一些下拉菜单的表单。例如,给定下面的查询,客户可以基于价格,邻居和财产类型(即公寓,联排别墅,单身家庭等)在数据库中搜索属性。但是,也可以选择退回任何类型的财产,但要考虑其他标准。有没有办法动态修改where子句,具体取决于用户是否想要返回所有属性类型?
SELECT a.id, property_id, price, name as section_name, baths, beds
FROM
properties a, subdivision b
WHERE
a.subdivision = b.id and
property_type = $property_type
ORDER by id"
答案 0 :(得分:0)
动态构建您的查询。我不是一个PHP编码器所以这可能在语法上不正确,但它看起来应该是这样的:
$query = <<<QUERY
SELECT a.id, property_id, price, name as section_name, baths, beds
FROM
properties a, subdivision b
WHERE
a.subdivision = b.id
QUERY;
if ($property_type)
{
$query = $query . " and property_type = $property_type ";
}
$query = $query . " order by id";
$result = mysql_query($query);
答案 1 :(得分:0)
如果您使用Java编写代码,请查看iBatis - 它非常支持动态查询。