有条件地在mysql表上选择值

时间:2012-05-07 02:02:43

标签: php mysql

---------------------------------------------------------------------------------------
|   products_id   |   net_price  |  special_price  |  special_expire  | special_status
| -------------------------------------------------------------------------------------
|    1            |      500     |     200         |  2012-5-03 00:00 |      1
| -------------------------------------------------------------------------------------
|    2            |      600     |     300         |  2012-6-04 00:00 |      0
| -------------------------------------------------------------------------------------
|    3            |      700     |     400         |  2012-7-05 00:00 |      1
---------------------------------------------------------------------------------------

其中products_idnet_pricespecial_pricespecial_expire是自解释的,special_status定义1以应用特殊价格{ {1}}禁用特价。

我有一个搜索表单,其中有一个价格范围。

0

如果<form method="get" action="http://website.com"> <input type="text" id="ref-search" name="search" value="<?php echo $search_value;?>" class="text" size="55" placeholder="Type a keyword." style="height: 30px; width: 89%;"> <label>Price Range:</label><br> <span class="price-range"> From <input type="text" id="price1" name="pricefrom" value="<?php echo $pricefrom_value; ?>" class="text" style=" height: 20px; width: 22%;"> to <input type="text" id="price2" name="priceto" value="<?php echo $priceto_value; ?>" class="text" style=" height: 20px; width: 22%;"> </form> net_pricespecial_price0.000日期值已过,或者{{} {我正在努力开发或找到有条件地选择special_expire的解决方案{1}}的值为special_status。然后,如果0中有值,special_price日期值尚未过去且special_expire的值为special_status,则选择1

这是我想要的照片。 (我知道这是不可能的,但我想这是描述我的问题的最好方法。)

special_price

我希望你能帮助我们.. 谢谢。

1 个答案:

答案 0 :(得分:3)

试试这个:

$sql = "SELECT products_id, products_price, special_price, special_expire, 
special_status, products_name, 
case when (special_price > 0 and special_expire > Now() and special_status != 0) 
then special_price else net_price end price from " . TABLE_GLOBAL_PRODUCTS . " 
where products_name like '%" . $search_key . "%' 
having price >= ".$pricefrom_key." and price <= ".$priceto_key.";

确保您逃脱输入!