---------------------------------------------------------------------------------------
| 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_id
,net_price
,special_price
,special_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_price
为special_price
,0.000
日期值已过,或者{{} {我正在努力开发或找到有条件地选择special_expire
的解决方案{1}}的值为special_status
。然后,如果0
中有值,special_price
日期值尚未过去且special_expire
的值为special_status
,则选择1
值
这是我想要的照片。 (我知道这是不可能的,但我想这是描述我的问题的最好方法。)
special_price
我希望你能帮助我们.. 谢谢。
答案 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.";
确保您逃脱输入!