我想创建一个选项菜单,其价格从数据库中拉出,如:
$query_RS_Price = sprintf("SELECT DISTINCT price FROM products WHERE Category LIKE %s AND Manufacturer = %s AND Color = %s");
这给了我一系列的值,例如501,999,1000,1501 2000 我知道我可以让所有的价格都这样上涨:
<?php
echo '<option value="">Any</option>';
while ($Price = mysql_fetch_array($RS_Price)) {
$selected3 = $_GET['price'] == $Price['price'] ? 'selected' : '';
echo '<option '.$selected3.'>' . $Price['price'] . '</option>';
} ?>
但这不是我想要的。 我不想把所有这些都放在一个选项中,但我想做一个像
这样的选项范围<select name="price" class="dropmenu">
<option value="">Any</option>
<option value="0-500">£0-500</option>
<option value="500-1000">£500-1000</option>
<option value="1000-2000">£1000-2000</option>
<option value="2000">£2000></option>
</select>
如果例如0到500之间没有值,我不想显示该选项。 是否只显示选项范围? 欢迎任何帮助
答案 0 :(得分:0)
SELECT case when price between 0 and 500 then '0-500'
when price between 501 and 1000 then '501-1000'
when price between 1001 and 2000 then '1001-2000'
when price > 2000 then '>2000'
end as price_range
FROM products
WHERE Category LIKE %s AND Manufacturer = %s AND Color = %s
GROUP BY price_range