如何构建MySQL查询以选择2个产品价格

时间:2014-12-04 04:49:41

标签: php mysql sql

我有一个电子商务网站,我需要在两个价格点之间获得产品

我使用以下MySQL查询在多个价格点之间进行选择 enter image description here

$select_query = "select * from product where `enabled`='1' and `price` between '" . $min_price  .  "' and '" . $max_price . "'";

我想扩展此查询,我需要在两个价格点之间选择产品:

  1. 选择所有费用低于50的产品
  2. 选择所有产品,费用在100到150之间
  3. 选择所有成本高于200的产品
  4. 任何想法,如何构建这样的查询?

2 个答案:

答案 0 :(得分:2)

始终建议在查询中使用PHP变量。

当有一个点到范围时,它需要两个变量($min_price$max_price)。 现在有两个范围,因此使用四个变量来存储范围($min_price1$min_price2$max_price1$max_price2)。

首先将范围存储到这些变量中。请参阅此页PHP: Get Values of Multiple Checked Checkboxes

[注意:如果选中第一个选项,请执行 $min_price1 = 0 $max_price1 = 50 。还要注意最后一个选项]

现在查询:

SELECT * 
FROM product
WHERE enabled='1' 
AND ( ( price  BETWEEN $min_price1 AND $max_price1 ) OR ( price BETWEEN $min_price2 AND $max_price2 ) )

答案 1 :(得分:1)

你需要在具有OR条件的where子句中选择条件,因为你有一个复选框

select * 
from product
where enabled='1' 
and ( price <50 or (price between 100 and 150) or price >200)