Home > Article > Backend Development > Let's take a look at php to implement the shopping cart product deletion function (2)
In the previous article, I only wrote about the simple adding to shopping cart function. The deletion of products in the shopping cart, the reduction of inventory and the balance of the customer account after submitting the order were not completed. This article is a continuation of the previous article. The previous article wrote about the deletion function in the shopping cart. In order to reduce the deletion code, we need to make the previous
When linking to a deleted page, the value of ids obtained is changed to obtain the index value of arr and the index value k of arr is changed to
353a613f8f86b74d98ca49623d47b76cDelete5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf
In this way, after we enter the delete page, we can directly obtain the index value sy. This makes it much simpler to write the delete page
Related learning recommendations: PHP programming from entry to proficiency
The following is the code to delete the page shanchu.php
<?php session_start(); $sy = $_GET["sy"]; //根据索引找到该数据 $arr = $_SESSION["gwc"]; $arr[$sy]; //要删除的数据 //如果数量不为1,数量减1 if($arr[$sy][1]>1) { $arr[$sy][1] = $arr[$sy][1]-1; } else //如果数量为1,移除 { unset($arr[$sy]); } $_SESSION["gwc"] = $arr; //最后存一下购物车的内容 header("location:gouwuche.php");
This way you can delete the page, The following is the code for the submission page, which is relatively cumbersome. When it comes to the submission page, we will think of inventory and balance. As long as we submit the order, the inventory will be reduced, and the relative balance will also be reduced. Of course, if the inventory is insufficient , or if the balance is insufficient, the buyer must also be reminded.
I made two tables here to store data
Add a label at the end of gouwuche.php
e388a4556c0f65e1904146cc1a846beed891f4bf279786db7eb09c639eb5ef325db79b134e9f6b82c0b36e0489ee08ede388a4556c0f65e1904146cc1a846bee
Below It’s the code of tijiaodingdd.php
<?php session_start(); header("Content-type:text/html;charset=utf-8"); //防止出现乱码 $uid=$_SESSION["uid"]; //先查一下账户余额 include("DADB.class.php"); $db=new DADB(); $ysql="select account from login where username='{$uid}'"; $yarr=$db->Query($ysql); $yarr[0][0];//总额 //购物车的总价格,前面有写过 $arr=array(); if (!empty($_SESSION["gwc"])) { $arr=$_SESSION["gwc"]; } $sum=0; foreach($arr as $v) { $v[1];//购物车中产品的数量 $psql="select price from fruit WHERE ids='{$v[0]}'"; $parr=$db->Query($psql); foreach($parr as $k) { $k[0];//产品的单价 $sum+=$k[0]*$v[1]; } } //判断余额是否满足购买 if($yarr[0][0]>=$sum) {//余额满足,要判断库存 foreach($arr as $v) { $ksql="select number from fruit where ids='{$v[0]}'"; $karr=$db->Query($ksql); $karr[0][0];//这是库存 if($karr[0][0]<$v[1]) //表示库存不足,这时要给顾客提示库存不足 { echo"库存不足"; exit; } } //判断之后需要提交订单了 //账户扣除余额 $kcsql="update login set account=account-{$sum} where username='{$uid}'"; $db->Query($kcsql,0);//这里是修改语句,所以要加上0 //扣除库存 foreach($arr as $v) { $kcksql="update fruit set number=number-$v[1] where ids='{$v[0]}'"; $db->Query($kcksql,0); } //所有的工作都做完了,这时我们就该提交订单了 // 这里我在数据库中做了两张表,把提交的订单添加到表中就可以保存了 //添加订单 $ddh = date("YmdHis"); $time = date("Y-m-d H:i:s"); $sdd = "insert into orders values('{$ddh}','{$uid}','{$time}')"; $db->Query($sdd,0); //添加订单详情 foreach($arr as $v) { $sddxq = "insert into orderdetails values('','{$ddh}','{$v[0]}','{$v[1]}')"; $db->Query($sddxq,0); } } else { echo "余额不足"; exit; } ?>
The shopping cart is still the same as the products in the previous shopping cart. Now let’s take a look at the table in the database.
Remark: Because Zhangsan’s account was used in many previous tests, the account price in the login table changed to 33.6 yuan, and the price of the product we put in the shopping cart was 16.8 yuan, so There is no problem here.
Such a relatively simple shopping cart is completely completed.
The above is the detailed content of Let's take a look at php to implement the shopping cart product deletion function (2). For more information, please follow other related articles on the PHP Chinese website!