在OIModel.class.php增加自动生成订单号功能:
/*生成随机订单号*/ publicfunctionorderSn(){ $sn = ‘OI‘.date(‘ymd‘).mt_rand(10000,99999); $sql = ‘select count(*) from ‘.$this->table.‘ where order_sn = ‘."‘".$sn."‘"; return $this->db->getOne($sql)?$this->orderSn():$sn; } |
订单商品表写入
/*获取刚刚产生的order_id的值*/ $order_id = $OI->insert_id(); /* echo ‘下订单成功‘;*/ /*要把订单的商品写入数据库 一个订单对应多个商品,可以循环写入ordergoods表 */ $items = $cart->getAll();//返回订单中的所有商品 /*获取ordergoods表的操作model*/ $OG = new OGModel(); $cnt = 0;//记录插入orderinfo表成功的次数 foreach($items as $k=>$v){ $data = array(); $data[‘order_sn‘] =$order_sn; $data[‘order_id‘] = $order_id; $data[‘goods_id‘] = $k; $data[‘goods_name‘] = $v[‘name‘]; $data[‘goods_number‘] = $v[‘num‘]; $data[‘shop_price‘] = $v[‘price‘]; $data[‘subtotal‘] = $v[‘price‘]*$v[‘num‘]; if( $OG->addOG($data)){ /*一个订单有N个商品,只有当所有商品都插入时,才算插入成功*/ $cnt += 1; } } if(count($items) !== $cnt){ $OI->invoke($order_id); $msg = ‘下订单失败‘; include(ROOT.‘view/front/msg.html‘); exit; } /*下订单成功,清空购物车*/ $cart->clear(); include(ROOT.‘view/front/order.html‘); exit; |
本文出自 “杜国栋个人PHP学习博文” 博客,请务必保留此出处http://duguodong.blog.51cto.com/7667978/1395019
时间:2014年4月13日19:01:06订单商品表写入,布布扣,bubuko.com
原文:http://duguodong.blog.51cto.com/7667978/1395019