2010-06-19 113 views
0

是否可以根據用戶選擇的內容動態修改where標準? 我正在創建一個有幾個下拉列表的表單。例如,在下面的查詢中,客戶可以根據價格,鄰居和財產類型(即公寓,聯排別墅,單身家庭等)在數據庫中搜索財產。但是,也可以選擇返回任何類型的財產,但要考慮其他條件。有沒有辦法根據用戶是否想要返回所有屬性類型來動態修改where子句?在mysql中創建動態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

只是動態構建您的查詢。我不是一個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); 
+0

用「。」替換「+」。這應該可行 – DrColossos 2010-06-19 14:02:15