이 글에서는 주로 PHP에서 장바구니 상품을 삭제하는 기능을 자세하게 소개하고 있습니다. 관심 있는 친구들이 참고하시면 좋을 것 같습니다.
이전 글에서는 간단히 add를 작성했습니다. 장바구니 기능에 있어서 장바구니 상품 삭제, 주문 후 재고 감소, 고객 계정 잔고 등이 완벽하지 않습니다. 장바구니 기능, 삭제 코드 입력을 줄이기 위해 이전
링크에서 페이지를 삭제할 때 얻은 id 값을 인덱스 값으로 변경해야 합니다. arr의 인덱스를 얻으려면 k 값을
Delete이 방법으로 삭제 페이지에 들어간 후 인덱스 값 sy를 직접 얻을 수 있습니다. 이렇게 하면 삭제된 페이지를 작성하는 것이 훨씬 간단해집니다.
다음은 페이지 삭제 코드입니다. 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");
이렇게 페이지를 삭제하면 됩니다. 페이지를 제출할 때 상대적으로 번거로운 부분이 있습니다. 우리가 주문을 제출하는 한 재고는 상대적으로 줄어들 것입니다. 물론 재고가 부족하거나 잔액이 부족한 경우 구매자도 감소해야 합니다. 상기시켰다.
두 개의
테이블을 만들어 데이터를 저장합니다
태그 추가
<p><a href="tijiaodd.php" rel="external nofollow" ></a><p>
다음은 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; } ?>
비고: 이전 여러 테스트에서 Zhangsan의 계정을 사용했기 때문에 로그인 테이블의 계정 가격이 33.6위안으로 변경되었고, 장바구니에 담았던 제품의 가격이 16.8위안이 되었기 때문에 여기서는 문제가 없습니다. . 이렇게 비교적 간단한 장바구니가 완성되었습니다.
위 내용은 장바구니 상품 삭제 기능을 PHP로 구현하는 방법에 대한 자세한 설명(그림 및 텍스트)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!