【发布时间】:2015-02-20 12:30:19
【问题描述】:
我在一个房地产网站上工作,并且在数据库中有一个表,其中两列是“价格”和“表面”,其中表面是一个看起来像“100 200 350”的数组 - 这些是办公楼中可供出租的表面(我有更多的办公楼提供)。 现在,价格列以平方米为单位,如“12”(欧元/平方米)。
如果输入值 $min 和 $max 是每平方米,我已经有了一个搜索功能;
$result=mysql_query("SELECT * FROM `offers` WHERE price between $min and $max")
但如果用户搜索总价格范围,假设在 1000 到 2500 欧元之间,他应该在我的示例中找到具有 200 平方米表面阵列的报价(12 欧元 x 200 平方米= 2400 欧元)
我需要进行选择以查找给定价格范围内的优惠,例如:
$result=mysql_query("SELECT * FROM `offers` WHERE price * (explode somehow the surface array and get each value to compare) between $min and $max")
谢谢
【问题讨论】:
-
你能告诉我价格是已经计算好了还是需要计算得到价格。
-
没错,要获得更多答案,您必须编写一些查询或一些您已经尝试过的代码......
-
总价不计算,表中只有每平方米的价格
-
即使您知道如何获得总价,坦率地说,这也是一种使用 SQL 获得结果的可怕方式。如果可能的话,您应该尝试重新设计结构以存储表面。
-
我确实存储了表面,但我不能将它们存储在单独的字段中,我这样做就像用空格分隔的文本 "surface1 surface2..."
标签: php mysql arrays select explode