溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

發(fā)布時(shí)間:2020-07-20 09:08:15 來源:億速云 閱讀:152 作者:Leah 欄目:編程語言

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

上一篇的時(shí)候只是寫了簡(jiǎn)單的加入購(gòu)物車功能,購(gòu)物車中產(chǎn)品的刪除、提交訂單后,庫存的減少 以及客戶賬戶的余額都沒有完善,這一篇是接著完善上一篇的,上一篇寫到了購(gòu)物車中刪除的功能了,為了使刪除的代碼少敲一些,我們要把前面

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

鏈接刪除頁面的時(shí)候 獲取ids的值改為獲取 arr的索引值arr的索引值k  改為

<a href='shanchu.php?sy={$k}'>刪除</a></td>
這樣我們進(jìn)入刪除頁面后  就可以直接獲取索引值sy 這樣刪除頁面寫起來就簡(jiǎn)單多了


下面就是刪除頁面的代碼了 shanchu.php

<?php
session_start();
$sy = $_GET["sy"];

//根據(jù)索引找到該數(shù)據(jù)
$arr = $_SESSION["gwc"];
$arr[$sy]; //要?jiǎng)h除的數(shù)據(jù)

//如果數(shù)量不為1,數(shù)量減1
if($arr[$sy][1]>1)
{
 $arr[$sy][1] = $arr[$sy][1]-1;
}
else //如果數(shù)量為1,移除
{
 unset($arr[$sy]);
}

$_SESSION["gwc"] = $arr; //最后存一下購(gòu)物車的內(nèi)容

header("location:gouwuche.php");

這樣刪除頁面就可以了,下面就是提交頁面的代碼了,相對(duì)來說比較繁瑣,說到提交頁面,我們會(huì)想到的是 庫存、余額,我們只要提交訂單,那么庫存就會(huì)減少,相對(duì)的 余額也會(huì) 減少,當(dāng)然如果庫存不足,或者余額不足的話,也要給購(gòu)買者提示。

在這個(gè)地方做了兩個(gè)表格 用來存儲(chǔ)數(shù)據(jù)的

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

在gouwuche.php最后的時(shí)候加一個(gè)標(biāo)簽

<p><a href="tijiaodd.php" rel="external nofollow" ></a><p>

下面就是tijiaodingdd.php的代碼了

<?php
 session_start();
header("Content-type:text/html;charset=utf-8"); //防止出現(xiàn)亂碼
$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];//總額


//購(gòu)物車的總價(jià)格,前面有寫過

$arr=array();

if (!empty($_SESSION["gwc"]))
{
 $arr=$_SESSION["gwc"];
}
$sum=0;
foreach($arr as $v)
{
 $v[1];//購(gòu)物車中產(chǎn)品的數(shù)量
 $psql="select price from fruit WHERE ids='{$v[0]}'";
 $parr=$db->Query($psql);
 foreach($parr as $k)
 {
  $k[0];//產(chǎn)品的單價(jià)
  $sum+=$k[0]*$v[1];
 }
}

//判斷余額是否滿足購(gòu)買
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]) //表示庫存不足,這時(shí)要給顧客提示庫存不足
  {
   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);
 }

//所有的工作都做完了,這時(shí)我們就該提交訂單了
// 這里我在數(shù)據(jù)庫中做了兩張表,把提交的訂單添加到表中就可以保存了

//添加訂單
$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;
}

?>

購(gòu)物車還是和上一篇購(gòu)物車中的產(chǎn)品是一樣的,這時(shí)我們?cè)偃タ纯磾?shù)據(jù)庫中的表。

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能

備注:因?yàn)橹坝羞^多次測(cè)試用的都是zhangsan的賬號(hào), 所以login表中的account價(jià)格發(fā)生了變化,變?yōu)?3.6元,我們放入購(gòu)物車的產(chǎn)品價(jià)格是16.8元,所以這里是沒有問題的。

這樣一個(gè)比較簡(jiǎn)單的購(gòu)物車就算徹底的完成了。

看完上述內(nèi)容,你們掌握如何使用php實(shí)現(xiàn)購(gòu)物車產(chǎn)品刪除功能的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI