echop产品重量的bug
2009-06-24 09:53 来源:www.chinab4c.com 作者:ecshop专家
最近很多电子商务界朋友提出,怎么ecshop用了很长时间,最后才发现产品重量出现bug,明明填写的是2.333千克,结果不对,去后台编辑一下,也不对,查看mysql数据库,还是不对.自己认真看了看ecshop产品录入和编辑,总算有所心得.
查看产品录入的页面,看其源代码,你会发现. <select name="weight_unit"><option value="1">千克</option><option value="0.001" selected>克</option></select>这个就是用来控制他的单位的"千克","克".1克等于0.001千克,很显然,数据库中存储是用千克来衡量的.
后台admin/goods.php中,$goods_weight = !empty($_POST['goods_weight']) ? $_POST['goods_weight'] * $_POST['weight_unit'] : 0;,你可以发现$goods_weight.如果输入了1,单位选择千克.那么存储在数据库中就是1.如果填写2.55千克,那么在数据中存储2.55
但是你发现,如果填写2.55克,那么在$goods_weight = 2.55*0.001,结果是0.00255,如果需要保留在数据库中保留0.00255,那么需要字段能保留在5位小数.
查看ecshop数据库,你回发现,在ecs_goods表格中,goods_weight是decimal字段,长度为10,保留小数3位,那么很显然,0.00255不能被保留,而是自动四舍五入.所以,保留产品的重量就有误差了.
你该修改成长度为15,保留小数6-8位,才正确保留小数的长度,正确保留产品重量.
相关文章:
来源:中国B4C电子商务
香港公司注册咨询
最近更新
常用插件
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...