
可以看到大苹果的数量是4,若是我点删除,其条件便是存在大苹果,且数量大于一,点击删除使数量减一:
白葡萄的数量是1,若我点击删除,其条件是数量不大于一,使其移除数组;
说了这些快来看看删除页面吧:
<?php
session_start();
$ids = $_GET["ids"];
$arr = $_SESSION["gwc"];
//var_dump($arr);
//取索引2(数量)
foreach ($arr as $key=>$v)
{
if($v[0]==$ids)
{
if($v[1]>1){
//要删除的数据
$arr[$key][1]-=1;
}
else{
//数量为1的情况下,移除该数组
unset($arr[$key]);
}
}
}
$_SESSION["gwc"] = $arr;
//记得扔到session里面
header("location:ckgwc.php");
//删除完跳转回去
高能!!
提交订单页面,我只来一个处理页面吧,小伙伴若有需要自己填链接即可:
<?php
session_start();
include ("db.class.php");
$db = new db();
//判断用余额是否满足
$zhang = $_SESSION["zhang"];
//获取到用户名
$sye = "select zhanghu from yonghu WHERE zhang = '{$zhang}'";
$ye = $db->query($sye);
$ye[0][0];//这是余额
$ann=array();
if(!empty($_SESSION["gwc"]))
{
$ann=$_SESSION["gwc"];
}
$zhonglei = count($ann);
$aa=0;//总价格
foreach($ann as $k)
{
$k[0];//水果代号
$k[1];//水果数量
$sql1="select jiage from sgbiao where ids='{$k[0]}'";
$danjia=$db->Query($sql1);
foreach($danjia as $n)
{
$aa=$aa + $n[0]*$k[1];
}
}
//判断余额是否满足
if($ye[0][0]>=$aa)
{
//钱够,判断库存
foreach($ann as $v)
{
$skc = "select sgname,kucun from sgbiao WHERE ids='{$v[0]}'";
//水果代号$v[0]
$akc = $db->query($skc);
$akc[0][1];//库存
//比较是否满足库存
if($akc[0][1]<$v[1])
{
echo "{$akc[0][0]}库存不足";
//退出
exit;
}
}
//提交订单:
//i. 从用户账户中扣除本次购买的总价格
//ii. 从商品库存中扣除本次每种商品的购买数量
//iii. 向订单表和订单内容表中加入本次购买的商品信息
//扣除账户余额
$skcye = "update yonghu set zhanghu = zhanghu-{$aa} WHERE zhang = '{$zhang}'";
$db->query($skcye,0);
//扣除库存
foreach($ann as $v)
{
$skckc = "update sgbiao set kucun = kucun-{$v[1]} WHERE ids='{$v[0]}'";
//水果代号$v[0]
$db->query($skckc,0);
}
//添加订单信息
//取当前时间
$time = time();
//自动生成订单号
$ddh = date("YmdHis");
$sdd = "insert into dingdan VALUES ('{$ddh}','$zhang','$time')";
$db->query($sdd,0);
//添加订单内容
foreach ($ann as $v)
{
$sddxq = "insert into ddneirong VALUES ('','$ddh','{$v[0]}','{$v[1]}')";
$db->query($sddxq,0);
}
}
else
{
echo "钱不够";
exit;
}
如此一来,购物车大体上的功能都已实现;
来看看点击提交订单后的效果:







