解决后台手工输入产品ID添加特价商品的错误

本帖最后由 紫衫木 于 2012-8-6 13:12 编辑

在添加特价产品的时候,如果数据库比较大,可以根据商品编号手工添加特价商品当商品很多,从页面的下拉菜单中选择商品不方便时,采用输入预添加的商品编号来快速的添加特价产品,这种方式比较好。

正常的流程是添加这个产品ID后,就进入编辑特价和时间,然后就添加到特价表里面。这种方法适应产品比较多的时候,选择产品比较麻烦的时候才用的,它能减少挑选商品的时间。但是默认的后台,添加的时候是会出错的.下面就是错误提示:
1366 Incorrect decimal value: ‘’ for column ‘specials_new_products_price’ at row 1
in:
[insert into specials (products_id, specials_new_products_price, specials_date_added, expires_date, status, specials_date_available) values (‘23’, ‘’, now(), ‘0001-01-01’, ‘1’, ‘0001-01-01’)]
If you were entering information, press the BACK button in your browser and re-check the information you had entered to be sure you left no blank fields.

这个错误是因为specials_new_products_price这个字段没有赋值。

所以要修改admin\specials.php这个文件里面的代码,找到// add empty special这个地方,在下面添加$specials_price=((zen_db_prepare_input($_POST['specials_price']) == '') ? '0.0' : zen_date_raw($_POST['specials_price'])); 因为用这种方式这个没有赋值,所以在这里判断,如果是空的就设置为0.0.

修改后就可以正常了。这个错误也是刚发现的,因为这个功能没有用过,今天突然想到试试看才发现。