iszjw 发表于 2017-12-30 22:51:40

php 实现简单购物车功能(2)

1 <?php  
2   session_start();
  
3 header("Content-type:text/html;"); //防止出现乱码
  
4 $uid=$_SESSION["uid"];
  
5 //先查一下账户余额
  
6 include("DADB.class.php");
  
7 $db=new DADB();
  
8 $ysql="select account from login where username='{$uid}'";
  
9 $yarr=$db->Query($ysql);
  
10 $yarr;//总额
  
11
  
12
  
13 //购物车的总价格,前面有写过
  
14
  
15 $arr=array();
  
16
  
17 if (!empty($_SESSION["gwc"]))
  
18 {
  
19   $arr=$_SESSION["gwc"];
  
20 }
  
21 $sum=0;
  
22 foreach($arr as $v)
  
23 {
  
24   $v;//购物车中产品的数量

  
25   $psql="select price from fruit WHERE>  
26   $parr=$db->Query($psql);
  
27   foreach($parr as $k)
  
28   {
  
29       $k;//产品的单价
  
30         $sum+=$k*$v;
  
31   }
  
32 }
  
33
  
34 //判断余额是否满足购买
  
35 if($yarr>=$sum)
  
36 {//余额满足,要判断库存
  
37   foreach($arr as $v)
  
38   {

  
39         $ksql="select number from fruit where>  
40         $karr=$db->Query($ksql);
  
41         $karr;//这是库存
  
42         if($karr<$v) //表示库存不足,这时要给顾客提示库存不足
  
43         {
  
44             echo"库存不足";
  
45             exit;
  
46         }
  
47   }
  
48
  
49   //判断之后需要提交订单了
  
50   //账户扣除余额
  
51   $kcsql="update login set account=account-{$sum} where username='{$uid}'";
  
52   $db->Query($kcsql,0);//这里是修改语句,所以要加上0
  
53
  
54   //扣除库存
  
55   foreach($arr as $v)
  
56   {

  
57         $kcksql="update fruit set number=number-$v where>  
58         $db->Query($kcksql,0);
  
59   }
  
60
  
61 //所有的工作都做完了,这时我们就该提交订单了
  
62 // 这里我在数据库中做了两张表,把提交的订单添加到表中就可以保存了
  
63
  
64 //添加订单
  
65 $ddh = date("YmdHis");
  
66 $time = date("Y-m-d H:i:s");
  
67 $sdd = "insert into orders values('{$ddh}','{$uid}','{$time}')";
  
68 $db->Query($sdd,0);
  
69
  
70 //添加订单详情
  
71   foreach($arr as $v)
  
72   {
  
73         $sddxq = "insert into orderdetails values('','{$ddh}','{$v}','{$v}')";
  
74         $db->Query($sddxq,0);
  
75   }
  
76 }
  
77
  
78 else
  
79 {
  
80   echo "余额不足";
  
81   exit;
  
82 }
  
83
  
84 ?>
页: [1]
查看完整版本: php 实现简单购物车功能(2)