微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

一起看看php实现购物车产品删除功能2

上一篇的时候只是写了简单的加入购物车功能,购物车中产品的删除、提交订单后,库存的减少 以及客户账户的余额都没有完善,这一篇是接着完善上一篇的,上一篇写到了购物车中删除功能了,为了使删除代码少敲一些,我们要把前面

链接删除页面的时候 获取ids的值改为获取 arr的索引值arr的索引值k 改为

<a href='shanchu.PHP?sy={$k}'>删除</a></td>
这样我们进入删除页面后 就可以直接获取索引值sy 这样删除页面写起来就简单多了

相关学习推荐:PHP编程从入门到精通

下面就是删除页面代码了 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);

这样删除页面就可以了,下面就是提交页面代码了,相对来说比较繁琐,说到提交页面,我们会想到的是 库存、余额,我们只要提交订单,那么库存就会减少,相对的 余额也会 减少,当然如果库存不足,或者余额不足的话,也要给购买者提示

在这个地方做了两个表格 用来存储数据的

在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的账号, 所以login表中的account价格发生了变化,变为33.6元,我们放入购物车的产品价格是16.8元,所以这里是没有问题的。

这样一个比较简单的购物车就算彻底的完成了。

原文地址:https://www.jb51.cc/php/1210541.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐