第5章 系统的设计与实现
5.1 系统的功能模块
图5.1 系统功能模块图
(1)用户注册功能:用户可注册自己的账号,包括昵称,密码,头像选择等基本信息。 (2)用户登陆功能:用户输入已注册的账号、密码,验证成功后登陆estore购物商城系统。 (3)商品浏览功能:点击商品图片可进入商品详情页面,查看商品详情并加入购物车。 (4)加入收藏夹功能:可以将商品加入收藏夹,然后继续购物,或清空收藏夹里的商品。 (5)购买商品功能:在购物车内,可以修改商品数量,自动计算所加入的所有商品总额。
5.2 功能模块流程图
(1)注册流程图
用户注册流程为:输入新用户昵称,检查用户名是否已经被注册过,如果是则重新进行新昵称注册,直至检查用户名未被注册过,显示用户名可用之后,设置密码,密码不符合要求,重新设置密码,直至密码符合要求,显示密码符合要求之后,继续填写剩下的注册信息,完成之后,系统会将新注册的用户名,密码保存到数据库中,页面显示,注册成功。具体流程图如下图5.2所示。
- 15 -
图5.2 注册模块流程图
(2)登录流程图
用户登录流程为:查询用户名是否存在,若不存在,则显示用户名或者密码错误,请重新登录,否则输入密码进行核对,密码检验错误之后,系统会显示用户名或者密码错误,重新进行登录,密码检验正确之后,系统会将此用户的ID存入到session中,系统显示登录成功。具体流程图如下图5.3所示。
图5.3 登录模块流程图
(3)商品浏览流程图
商品浏览流程为:用户登录成功之后,进入系统首页面进行商品的浏览,可以通过类
- 16 -
别搜索商品也可以直接点击商品图片进入商品的详情介绍,如果遇到满意的商品,可以添加到收藏夹或购物车,如果不满意,可以回到系统首页继续浏览商品。具体的流程图如下图5.4所示。
图5.4 商品浏览模块流程图
(4)购物车流程图
购物车流程为:将商品添加到购物车后,可以在购物车查看新添加的商品,如果不满意,可以清空购物车,重新继续选择商品,或者直接在购物车内进行商品数量的调整,如果对购物车内的商品觉得满意,就可以去收银台进行下订单的操作。具体流程图如下图5.5所示。
图5.5 购物车模块流程图
5.3 后台数据库设计
5.3.1 创建使用MySQL数据库
首先创建数据库:create database ld1302_estore;其次使用该数据库:use ld1302_estore。
- 17 -
5.3.2 创建表 (1)用户信息表
用户信息:用户ID,用户昵称,用户密码,注册时间,最近登录日期,电子邮箱,性别,生日,头像,有效证件等。
用户信息建表语句为:
CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(40) NOT NULL,
`reg_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `lastlogintime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `email` varchar(50) NOT NULL, `sex` varchar(40) DEFAULT NULL, `birthday` datetime DEFAULT NULL, `img` varchar(100) DEFAULT NULL, `id_card` varchar(50) DEFAULT NULL, `state` tinyint(1) NOT NULL DEFAULT '0', `integral` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=66 ;
用户信息表具体如下表5.1所示。
表5.1 用户信息表
字段名 id username password Reg_date lastlogintime email sex birthday img
类型 int varchar varchar datetime datetime varchar varchar datetime varchar 宽度 11 50 40 50 40 100 - 18 -
是否允许为空 否 否 否 否 否 否 是 是 是 备注 主键 表5.1(续)
Id_card state interal (2)商品种类信息表
varchar tinyint int 50 1 11 是 否 否 商品种类信息:商品ID,商品名称,商品大类的ID,添加商品时间。 商品种类信息建表语句为:
CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cat_name` varchar(50) NOT NULL, `pid` int(11) NOT NULL DEFAULT '0',
`add_cat_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
商品种类信息表具体如下表5.2所示。
表5.2 商品种类信息表
字段名 id cat_name pid add_cat_date (3)商品信息表
类型 int varchar int datetime 宽度 11 50 11 是否允许为空 否 否 否 否 备注 主键 商品信息:商品ID,上面名称,本店价格,商品描述,商品小图片,商品大图片,分类ID,上架时间(默认),销售方式的名称,销售方式的价格,商品点击量,商品总评分数,商品市场价格,商品库存量,商品状态等。
商品信息建表语句为:
CREATE TABLE IF NOT EXISTS `goods` ( `id` int(11) NOT NULL AUTO_INCREMENT, `good_name` varchar(100) NOT NULL,
`store_price` decimal(65,0) NOT NULL DEFAULT '0' COMMENT '本店的价格',
- 19 -