Maison > développement back-end > tutoriel php > 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
Libérer: 2023-04-09 09:22:01
avant
2037 Les gens l'ont consulté

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

Delete
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");
Copier après la connexion

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


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;
}

?>
Copier après la connexion

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!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal