分析:
1、网络购物车是一个虚拟的购物车,但是要实现像真实购物一样的大概流程,
添加商品,丢掉商品,结算价钱等等
1、 因为只有用户确定购买的商品才是有效的,并且选择不同的商品要浏览不同的页面,所以需要长久保存数据,但是还不能把所有的选过的商品都添加到数据库中,这样如果客户不要该商品时还需要在数据库中删除增加了服务器的压力,所以要筛选到只有客户最终确定的商品才添加到数据库进行保存,这时就需要一个临时的全局变量来保存数据,cookie 或者是 session 他们的优缺点以下介绍:
2、
3、 功能:
a) 商品展示,相关资料(基本描述,价格,名称,供应商情况,图片等)
b) 购物车功能
i. 用户可以再购物王章不同页面之间任意跳转,选购自己喜欢的商品---点击购买----订单信息----统一到付账台结账
功能包括:
1) 添加商品----订购
2) 删除商品
3) 修改商品的购买数量(小计,总价)
4) 清空购物车
ii:订单
详细信息表单
支付方式----支付宝接口
购物流程:商品浏览----加入购物车-----购物结算------生成订单------提交订单
主要步骤:
第一步:选择方法
关键:服务器要能识别每一个用户并且能维持与他们的联系
http: 无状态(stateless)
cookie购物车
cookie session session+mysql
cookie 由服务器产生,存储在客户端的一段信息记录;
包含:域、(客户端浏览器上禁用cookiede 的是服务器端行为)、
路径、生存周期、变量名、变量值等
Cookie容量:4KB/个,允许最多300个,占用服务器端资源少
Cookie是浏览器内置的功能,浏览器关闭信息也不会丢失
基于cookie技术实现的购物车需要开启cookie功能:存在侵权功能
Session 购物车
特点:
存放在服务器端,客户端的设置无影响相对来说比cookie更安全,信息更多;
会占用服务器资源
注意:
基于cookie:
使用url:
Session+mysql
普遍
Cookie 与 session 任选
这里就选择session
开始session方法实现购物车
第二步:
创建数据库 db_shopping_car
用户表:登录(识别身份 买家 还是 卖家 )
商品表:商品展示
订单表:订单
详细订单表
客户对商品的评价表
商品类型表
注意点:1)、当提交订单的时候要筛选出每种产品对应的商家,并发送与之对应的订单,
2)、商家发货的时候要判断是否已经付过款
卖家create table admin(
Id int unsigned not null primary keyauto_increment,
Admin_name varchar(50) not null,
Admin_password varchar(30) not null,
Admin_photo vrachar(40) not null,
Admin_tel varchar(20) not null,
Admin_email varchar(30) not null
);
买家 create table cunstomer(
Id int unsigned not null primary keyauto_increment,
C_name varchar(30) not null,
C_pass varchar(30) not null,
C_photo varchar(50) not null,
C_question varchar(100) not null,
C_address varchar(300) not null,
C_email varchar(100) not null,
C_level varchar(1) not null, comment “级别”
C_num int not null, comment “积分”
);
客户反馈信息
Createtable idea(
Idint unsigned not null primary key auto_increment,
C_name varchar(30) not null,
C_photo varchar(50) notnull,
new_message varchar(100) notnull,
Re_message varchar(100) not null,
New_time date not null,
Re_time date not null,
)
产品表 createtable product (
Idint unsigned not null primary key auto_increment,
P_namevarchar(30) not null,
P_typevarchar(30) not null, comment “产品类型”
如果当做外键
P_typeint not null, comment “产品类型”
把 p_type当做外键 与 表p_type的id相关联
P_pricedecimal(10.2) not null,
P_quantityint not null,
P_image varchar(30) not null,
P_describevarchar(100) not null,
P_timedate not null, or P_time varchar(50) not null, comment”商品的发布时间”
P_zkfloat not null, comment “折扣”
P_publisheripvarchar (50) not null, comment”发布商品人的ip地址”
P_updatetimevarchar(30) not null, comment”最后更新时间”
P_useripvarchar(300) not null, commet”最后更新用户”
);
商品类型表Createtable p_type(
Id int unsigned not null primarykey auto_increment,
Type_name varchar(50) not null,
Type_desc text not null,
);
第三部分:实现订单表
Create table orders(
Order_id int unsigned not nullprimary key auto_increment,
Order_uservarchar(10) not null
Order_numvarchar(50) not null, comment “订单号”
Order_emailvarchar(30) not null,
Order_timevarchar(50) not null,
//客户提交订单—商家确认----客户支付----商家发货----当发货后product表会进行修改
Order_statusenum(0,1,2)
//订单状态:未支付0,已支付未发货1,已支付已发货2
);
详细订单表:
Createtable orders_detail(
idint unsigned not null primary key auto_increment,
p_idint not null,
p_pricedecimal(10.2) not null,
p_destext nnot null,
p_numint not null,
p_zkfloat not null,
p_photovarchar(100) not null,
);