即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继续购物,则将cookies购物车存入数据
即以游客身份登录网站时以cookie的方式存储购物车,而以登录用户的身份进入时将购物车信息存储到数据库中去,若是先以游客身份完成购物再登录继续购物,则将cookies购物车存入数据库; 其中涉及到的存储过程主要如下: 一:已登录会员添加商品到购物车功能: 复制代码 代码如下: /* @store_sum表示要添加的商品数量,添加同时确认购物车中自己已有的数量与将要加入的数量之和是否超过库存 */ CREATE proc ncp_Cart_Add ( @store_id int, @store_sum int=1, @member_id int ) as DECLARE @Amount int DECLARE @NowAmount int Begin select @Amount=(select amount from ncp_store where id=@store_id) IF EXISTS(SELECT 1 FROM [ncp_cart] WHERE store_id=@store_id and member_id=@member_id) Begin select @NowAmount=(select store_sum+@store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id) if @NowAmount>@Amount return 0 else UPDATE [ncp_cart] SET store_sum=store_sum+@store_sum,addtime=getDate() where store_id=@store_id and member_id=@member_id return 1 End ELSE Begin select @NowAmount=(select store_sum from ncp_cart WHERE store_id=@store_id and member_id=@member_id) if @NowAmount>@Amount return 0 else INSERT INTO [ncp_cart](store_id,store_sum,member_id) values(@store_id,@store_sum,@member_id) return 1 END End GO 二:购物车的删除功能 复制代码 代码如下: /* type 为1是全部删 0时只删一个 */ CREATE PROCEDURE ncp_Cart_Del @type int=0, @store_id int , @member_id int AS begin if @type=0 delete from [ncp_cart] where store_id=@store_id and member_id=@member_id else delete from [ncp_cart] where member_id=@member_id End GO