购物车的实现
1、 实现原理
购物车
01文件夹------web根文档目录(D:/wamp/www/01)
db_shopping_car—Mysql的data目录下
2、 http://www.taobao.com
3、 功能
1) 商品展示---相关资料(基本描述、价格、名称、供应商情况、图片等)
2) 购物车功能
购物车相当于现实中超市的购物车,但是网页实现的是一个虚拟行为,
用户可以在购物网站不同页面之间任意跳转,选购自己喜欢的商品---
点击购买—订单信息---统一到付账台结账
购物车功能包括
1) 添加商品---订购
2) 删除商品
3) 修改商品的购买数量(小计、总计)
4) 清空购物车
3) 订单
详细信息表单
支付方式---支付宝接口
第一步:选择方法
关键:服务器要能识别每一个用户并且能维持与他们的联系。
HTTP:无状态(stateless)
cookie、session、session+mysql
cookie:
是由服务器产生、存储在客户端一段信息记录;
包含:域(客户端浏览器上禁用cookie的是服务器端行为)、
路径、生存周期、变量名、变量值等;
容量:每个cookie的大小4kb,占用服务器端资源少,浏览器允许存放300个cookie;
cookie是浏览器内置的功能,浏览器关闭信息也不会丢失;
基于cookie技术实现的购物车需要开启cookie功能;
存在侵权问题;
Session:
特点:
不依赖于客户端设置(存放到服务器端)
Session与cookie更安全、信息更多;
会占用服务器资源
注意:
基于cookie:
使用URL :
Session+mysql
普遍
根据实际情况任选
session方法
第二步:创建数据库
db_shopping_car
用户表:登录(识别身份)
商品表:商品展示
订单表:订单
辅助
第一部分 用户表:
卖家
create table admin(
id int unsigned not null primary key auto_increment,
admin_name varchar(30) not null ,
admin_password varchar(30) not null,
admin_photo varchar(100) not null,
admin_email varchar(30) not null,
);
买家
create table customer(
id int unsigned not null primary key auto_increment,
c_name varchar(30) not null,
c_pass varchar(30) not null,
c_photo varchar(100) not null,
c_question varchar(100) not null,
c_address varchar(300) not null,
c_email varchar(100) not null,
c_level char(1) not null,
c_num int not null
。。。。
);
User(
Name
password
)
User_a(
Address
Phone
photo
)
客户反馈信息
Create table idea(
id int unsigned not null primary key auto_increment,
c_name varchar(30) not null,
c_photo varchar(100) not null,
new_message varchar(100) not null,
re_message varchar(100) not null,
new_time date not null,
re_time date not null,
);
第二部分 产品表
create table product(
id int unsigned not null primary key auto_increment,
p_name varchar(20) not null, //商品的名字
p_type int not null, //商品的类别:日用百货、家用电器等
//产品类别表中id为主键,该字段在product里应为外键;
p_price decimal(10,2) not null, //商品的价格
p_quantity int not null, //商品的数量
p_image varchar(100) not null, //商品的图片
p_describe text not null, //商品的简单描述
p_time varchar(50) not null, //商品的发布时间
p_zk float not null, //商品的折扣
p_publisherip varchar(50) not null,//发布者ip
p_updatetime varchar(30) not null, //最后更新的时间
p_userip varchar(300) not null, //最后更新的用户
…
);
产品类别表
create table p_type(
id int unsigned not null primary key auto_increment,
type_Name varchar(30) not null,
desc text not null
);
第三部分 订单表
create table orders(
order_id int unsigned not null primary key autp_increment,//订单序列号
order_num varchar(50) not null,//订单号—20111031_pid_phone
order_email varchar(30) not null,//收获人信息
order_user varchar(30) not null,//收货人姓名
order_time varchar(50) not null ,//订单时间
//客户提交订单---商家确认----客户支付---商家发货--- product表
order_status enum(‘0’,‘1’,‘2’) not null,
//订单状态:未支付0、已支付未发货1、已支付已发货2
);
详细订单表
Create table order_detail(
id int unsigned not null primary key auto_increment,
Order_id int not null ,
P_id int not null,
P_price decimal(10,2) not null,
P_des text not null,
P_num int not null,
p_zk float not null,
p_photo varchar(100) not null,
);