教程分类

Product category

35_购物车(上)

来源:57自学网??浏览次数: 次??发布时间:2018-07-10 15:54

  • 高清线路
  • 备用线路
  • 图文解说
第二十三课购物车操作流程
一、购物车
表结构
cart
字段 类型 Null 默认 注释
cart_id int    
user_id int 0  
session_id char(32)   Session_id () 的返回值
goods_id int 0  
goods_numbers smallint(5) 0  
time_post int(10) 0  
 
CREATE TABLE `goods_cart` (
  `cart_id` int(10) unsigned NOT NULL auto_increment,
  `user_id` int(11) NOT NULL,
  `session_id` varchar(32) NOT NULL,
  `goods_id` int(11) NOT NULL,
  `goods_numbers` smallint (3) NOT NULL,
  `time_post` int(11) NOT NULL,
  PRIMARY KEY  (`cart_id`),
  KEY `user_id` (`user_id`,`session_id`,`goods_id`,`goods_numbers`,`time_post`)
) ENGINE=MyISAM  DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;
 
1 、增加到购物车
用到ajax 传两个参数 goods_id,goods_number
 
提交的php 地址要根据这个 goods_id 查询出 商品的货号,名称,市场价,商城价.
并上要购买的商品数量 作为值插入到 cart 表中。
注意 session_id 是用 session_id () 产生 的一个当前连接的session_id ,是一个32位的字符串
具体流程:
AJAX提交 到PHP页面,先判断用户登录没有
如果登录,就用user_id ,如果没有登录就用session_id
再根据传过来的goods_id 查出商品的库存,如果小于接收的要购买的商品的数量,提示库存不足,否则进入下一步
这时根据传过来的goods_id 来查询cart表中,看该商品曾经是不是已经加入到购物车中了
如是,则把购物车中该件商品的购物的数量取出来,加上刚才接收的又要购买的数量看是否小于goods表中的商品库存
如小于,更新购物车中该商品的购买数量为刚才的相加之和,
否则提示库存不足。
当购物车是没有查到该商品时,则直接将该商品及要购买的数量加入到cart表中即可
 
 
2、修改
 
注意有一个隐藏字段 goood_id
 
3、删除
 
 
三、前台商品品牌列表
 
//每个品牌下面有多少个商品
 
SELECT b.brand_name ,g.brand_goods_num  FROM `goods_brand` b LEFT JOIN ( SELECT `brand_id`,count(goods_id) as  brand_goods_num FROM `goods` GROUP BY `brand_id` ORDER BY `brand_id` ASC) g ON b.id = g.brand_id
 
查询结果如下图

 
 
上一篇:34_用户评论 下一篇:36_购物车(中)
腾讯视频客户端(推荐) 手机QQ浏览器(推荐)
本站与腾讯视频合作下载客户端播放视频更高清,无广告,下载更流畅! 本站移动端与QQ浏览器合作,使用QQ浏览器在移动设备上观看教程更清晰流畅、无广告!随时随地学习!