Let's take a look at php to implement the shopping cart product deletion function (2)

coldplay.xixi
Release: 2023-04-09 09:22:01
forward
2022 people have browsed it

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

Delete
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");
Copy after login

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


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=&#39;{$uid}&#39;";
$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=&#39;{$v[0]}&#39;";
 $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=&#39;{$v[0]}&#39;";
  $karr=$db->Query($ksql);
  $karr[0][0];//这是库存
  if($karr[0][0]<$v[1]) //表示库存不足,这时要给顾客提示库存不足
  {
   echo"库存不足";
   exit;
  }
 }

 //判断之后需要提交订单了
 //账户扣除余额
 $kcsql="update login set account=account-{$sum} where username=&#39;{$uid}&#39;";
 $db->Query($kcsql,0);//这里是修改语句,所以要加上0

 //扣除库存
 foreach($arr as $v)
 {
  $kcksql="update fruit set number=number-$v[1] where ids=&#39;{$v[0]}&#39;";
  $db->Query($kcksql,0);
 }

//所有的工作都做完了,这时我们就该提交订单了
// 这里我在数据库中做了两张表,把提交的订单添加到表中就可以保存了

//添加订单
$ddh = date("YmdHis");
$time = date("Y-m-d H:i:s");
$sdd = "insert into orders values(&#39;{$ddh}&#39;,&#39;{$uid}&#39;,&#39;{$time}&#39;)";
$db->Query($sdd,0);

//添加订单详情
 foreach($arr as $v)
 {
  $sddxq = "insert into orderdetails values(&#39;&#39;,&#39;{$ddh}&#39;,&#39;{$v[0]}&#39;,&#39;{$v[1]}&#39;)";
  $db->Query($sddxq,0);
 }
}

else
{
 echo "余额不足";
 exit;
}

?>
Copy after login

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!

Related labels:
source:jb51.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template