更新订单内多个商品的数量---在存在相同商品id时。
来源:互联网 发布:仿 购物商城 app 源码 编辑:程序博客网 时间:2024/05/21 15:51
//修改商品售出数量
数据库表存储时,一个订单多个商品,是按照商品ID存储,会出现相同商品多条记录,直接update使用where id in(),出现相同商品id时只执行一次更新。
$order_id = $order['id'];
//根据订单id查询商品ID和该商品在订单中的购买数量
$re = M()->query("SELECT gid,count(gid) AS count FROM zb_order_detail WHERE oid=$order_id GROUP BY gid");
//将$re拼装为 array(商品id=>该商品购买数量,
......
)
foreach($re as $v){
$res[$v['gid']] = $v['count'];
}
//取出商品id,为(id1,id2...).作为in条件
$ids = implode(',', array_keys($res));
//当商品id 则 商品数量
$sql = "UPDATE zb_goods SET sale_count = CASE id ";
//使用case when 语句,循环拼接条件。
foreach ($res as $id => $count) {
$sql .= sprintf("WHEN %d THEN sale_count+%d ", $id, $count);
}
$sql .= "END WHERE id IN ($ids)";
M()->execute($sql);
最后sql语句形为:UPDATE zb_goods SET sale_count = CASE id
when id1 then sale_count+count1
when id2 then sale_count+count2
........
END WHERE id IN (id1,id2...);
实现订单中多个相同商品数量的更新。
0 0
- 更新订单内多个商品的数量---在存在相同商品id时。
- 更新订单内多个商品的数量---在存在相同商品id时。
- 购物车数据模型(相同商品id,订单数量相加,数组改变)
- ajax 实现订单商品数量的增减及订单的删除进行异步更新界面
- Ant Design中模态框中订单金额随商品数量与商品类别动态变化的记录
- 商品订单
- session购物车怎么提交相同的ID商品
- mysql 给已存在的商品数据,根据商品ID增加商品编号
- 在ECSHOP商品列表页显示每个商品的评论等级和评论数量
- 在ECSHOP模板商品列表页 显示商品的评论等级和评论数量
- jquery来实现的添加商品和减少商品数量
- ECSHOP在商品详细页面上获取该商品的顶级分类id和名称
- ECSHOP产品详情页修改商品购买数量并实时更新商品总价的实现与优化
- 文章标题 商品订单
- AngularJS商品订单
- AngularJs 商品订单信息管理
- 商品订单信息管理
- 设置多图片表good_pic(中的商品id)为外键.参考goods商品表中的id,在删除商品的时候.一起删除多图片.
- get_included_files函数
- poj2955(括号匹配问题)
- Spring 实现动态注册Bean
- 欢迎使用CSDN-markdown编辑器
- SAP推出下一代数字转型平台SAP HANA 2
- 更新订单内多个商品的数量---在存在相同商品id时。
- 从1到n整数中1出现的次数
- 笔记
- DP 数字三角形+找钱问题
- Android中使用Handler造成内存泄露的分析和解决
- Uboot的使用-1
- 算法
- 微信小程序label组件
- 【网页设计】网页版2048