Maison  >  Article  >  développement back-end  >  Jetons un coup d'œil à php pour implémenter la fonction de suppression de produit du panier (2)

Jetons un coup d'œil à php pour implémenter la fonction de suppression de produit du panier (2)

coldplay.xixi
coldplay.xixiavant
2020-07-17 17:25:342013parcourir

Jetons un coup d'œil à php pour implémenter la fonction de suppression de produit du panier (2)

Dans l'article précédent, je n'ai écrit qu'une simple fonction d'ajout au panier La suppression des produits dans le panier, la réduction des stocks et le solde du compte client après soumission. la commande n'a pas été finalisée. Cet article continue d'améliorer l'article précédent. L'article précédent parlait de la fonction de suppression dans le panier. Afin de réduire le code de suppression, nous devons créer la partie avant

<.>

Lors d'un lien vers une page supprimée, la valeur des identifiants obtenus est modifiée en valeur d'index de arr et la valeur d'index k de arr est modifiée en

353a613f8f86b74d98ca49623d47b76cDelete5db79b134e9f6b82c0b36e0489ee08edb90dd5946f0946207856a8a37f441edf
De cette façon, après avoir accédé à la page de suppression, nous pouvons obtenir directement la valeur de l'index sy. De cette façon, il est beaucoup plus simple d'écrire la page de suppression

Recommandations d'apprentissage associées :

Programmation PHP du débutant au compétent

Ce qui suit est le code pour supprimer la 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");

De cette façon, vous pouvez supprimer la page. Voici le code de la page de soumission, qui est relativement lourde. En ce qui concerne la page de soumission, nous le ferons. Pensez à l'inventaire et au solde. Tant que nous soumettons la commande, l'inventaire sera réduit, et le solde relatif sera également réduit. Bien sûr, si l'inventaire est insuffisant, ou si le solde est insuffisant, l'acheteur doit également l'être. rappelé.

Faire deux tableaux ici pour stocker les données

Ajouter une étiquette à la fin de gouwuche.php

e388a4556c0f65e1904146cc1a846beed891f4bf279786db7eb09c639eb5ef325db79b134e9f6b82c0b36e0489ee08ede388a4556c0f65e1904146cc1a846bee

Ci-dessous c'est le code de 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;
}

?>

Les produits dans le panier sont toujours les mêmes que ceux de l'article précédent. Jetons maintenant un œil au tableau de la base de données.

Remarques : Parce que le compte de Zhangsan a été utilisé dans de nombreux tests précédents, le prix du compte dans le tableau de connexion est passé à 33,6 yuans et le prix du produit que nous avons mis dans le panier était de 16,8 yuans, donc il n'y a pas de problème ici .

Un panier aussi simple et relativement simple est complètement complété.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer