我在一个房地产网站上工作,并在数据库中有一个表格,其中两列是"价格"和"表面",表面上它是一个看起来像这样的阵列" 100 200 350" - 这些是办公楼可供出租的表面(我有更多的办公楼优惠)。 现在,价格列在平方米上,如" 12" (欧元/平方米)。
我已经有一项功能可以搜索输入值$ min和$ max是否为每平方米;
$result=mysql_query("SELECT * FROM `offers` WHERE price between $min and $max")
但是,如果用户将搜索总价格范围,让我们说在1000到2500欧元之间他应该在我的例子中找到表面阵列中有200平方米的报价(12eur x 200sqm = 2400欧元)
我需要选择以查找给定价格范围内的优惠:
$result=mysql_query("SELECT * FROM `offers` WHERE price * (explode somehow the surface array and get each value to compare) between $min and $max")
由于
答案 0 :(得分:0)
首先我要说请确保你从#34; Surface"获得一个阵列。因为那看起来像一个字符串。
$surface = array('100', '80' ,'200', '350', '10');
$query = 'SELECT * FROM mytable WHERE price_range IN (' .implode($surface, ', '). ' )';