添加商品的php代码不能实现,添加商品到购物车add_to_cart.php(学生笔记)

session_start();//启动session

$goods_id = $_POST['goods_id'];//获取商品id

$number = $_POST['num'];//获取商品数量

if(empty($_SESSION["gwc"]))

{

//1.购物车是空的,第一次点击添加购物车

$arr[$goods_id] =array(

'goods_id' =>$goods_id,

'num' =>$number

);

$_SESSION["gwc"]=$arr;

}

else//_1 购物车不是空的

{

//判断购物车中是否存在该商品

$arr = $_SESSION["gwc"]; //先存一下

$chuxian = false;

//2.查询购物车中是否有该商品,K是商品id,做个标记

foreach($arr as $k=> $v)

{

if($k==$goods_id)

{

$chuxian = true;

}

}

// 3.购物车中已有该商品,则只需将它的数量增加

if($chuxian)

{

$arr[$goods_id]['num']+=$number;

$_SESSION["gwc"] = $arr;

}

else

{

//_3.如果购物车中没有该商品

$arr[$goods_id] = array(

'goods_id' =>$goods_id,

'num' =>$number

);

$_SESSION["gwc"] = $arr;

// print_r($arr);

// die();

}

}

echo "OK";

// echo '

// alert("加购成功!");location.href="#";;';

// exit;

// var_dump($_SESSION);

// die();

?>

一.首先要明白添加一件商品到购物车的状态有3种情况。

1.还没有购物车。

2.有购物车了,但加入购物车的商品是购物车没有的。

3.有购车了,加入购物车的商品在购物车也已经有了,那就值增加它在购物车的数量。

二.加入购物车页面需要传2个参数到php,商品id和加购的商品数量。在php前面几行就是接受那2个参数。

三.要开通session。第一行的seesion_start();否则存进session的信息是不起作用的。虽然在后面能var_dump()出来。但在购物车展示商品页面var_dump的session还是之前的。

四.这么多项的商品如何存进session?其实就是对session数组的增删改查操作。

session就是一个数组。只是它能跨页面访问。存进session,最终目的还是为了在别的页面能再次用到它。比如上面的代码把商品信息存到$_SESSION['gwc']中,就是为了在购物车页面能够再次获取$_SESSION['gwc'],利用foreach循环把你存到$_SESSION['gwc']的商品遍历出来。

五.至于

$arr[$goods_id] =array(

'goods_id' =>$goods_id,

'num' =>$number

);

这句代码为什么里面只存或要存这2个参数,这也是根据购物车页面展示时的要求来的,数量不难理解,你加购了几件就展示几件。id又到底是为什么要存进去,购物车展示的业务逻辑就是,根据商品id,然后从数据库中该

id 的所有商品信息。即执行“select* form goods where id = 商品id”获得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值