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位,才正确保留小数的长度,正确保留产品重量.

  相关文章:

  ecshop flash 播放器管理

 ecshop热门搜索关键字的改进

  ecshop首页热门搜索统计代码的设置

  ecshop在收藏夹中显示产品图片

  如何删除ecshop测试数据 

  ecshop如何在首页显示最近发货订单

 

  来源:中国B4C电子商务

香港公司注册咨询