“改变订单中商品库存”函数中SQL语句疑问?
2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家
你好在/include/lib_order.php文件中 有一个 function change_order_goods_storage( ) 函数是用来改变订单中商品库存的 里面有sql如下: 。。。。 switch ($storage) { case 0 : $sql = "SELECT goods_id, SUM(send_number) AS num, MAX(extension_code) AS extension_code, MAX(product_id) AS product_id FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = '$order_id' AND is_real = 1 GROUP BY goods_id, product_id"; break; case 1 : $sql = "SELECT goods_id, SUM(goods_number) AS num, MAX(extension_code) AS extension_code, MAX(product_id) AS product_id FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = '$order_id' AND is_real = 1 GROUP BY goods_id, product_id"; break; } 。。。 请问上面的MAX(product_id) AS product_id可以换成product_id 吗?因为用 MAX(product_id)我发现程序经常出错 |
回答:
看了代码,不知官方为何加一个max,没看明白,应该可以替换,因为order_goods针对同一个goods_id的每条记录的product_id应该是唯一的,product_id代表的是商品品号id |
后台“系统设置”里面的减库存的时机: 我开始选择的是 “发货时”运行正常,几个礼拜后我选择成 “下订单时”结果系统出问题了无法下订单提示执行这个SQL语句时发错了错误, 后台订单里面出现了用户提交很多重复订单 应该是用户下单出错了 可能都多尝试了几次 我看了一下然后把 MAX(product_id) AS product_id 换成product_id后 就正常了 |
product_id 有点错了 都是0和peoducts这张表不对应 |
这个地方为什么要加is_real = 1 这样虚拟商品的库存永远都不会减少了。有人懂不? |
最近更新
常用插件
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
ecshop热门问答
ecshop热门资料
ecshop自主
ecshop上级
ecshop合伙人
ecmall订购记录
ecshop济南
ecshop订单跟踪
ecshopspe
ecshop折腾
ecshopopen
ecshop产品名
ecshop广告代码
ecshop爱好者
ecshopforeach分析
ecshop明天会更好。
ecshopbrand
ecshop分类图标
ecshop有效日期
ecshop夺宝奇兵
ecshopunusable
ecshopViolation
ecshop收购
成果cps整合
ecshop商品性性
ecshop最新动态
ecshopselect
ecshoppower
ecshop没值
ecshop购物车增强
ecshop管理工具
ecshop卖票