网上购书系统课程设计.docx

上传人:b****4 文档编号:26887017 上传时间:2023-06-23 格式:DOCX 页数:25 大小:370.08KB
下载 相关 举报
网上购书系统课程设计.docx_第1页
第1页 / 共25页
网上购书系统课程设计.docx_第2页
第2页 / 共25页
网上购书系统课程设计.docx_第3页
第3页 / 共25页
网上购书系统课程设计.docx_第4页
第4页 / 共25页
网上购书系统课程设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

网上购书系统课程设计.docx

《网上购书系统课程设计.docx》由会员分享,可在线阅读,更多相关《网上购书系统课程设计.docx(25页珍藏版)》请在冰豆网上搜索。

网上购书系统课程设计.docx

网上购书系统课程设计

课程设计

课程名称___数据库__________

题目名称___网上购书系统_______

学生学院____计算机____________

专业班级

学号

学生姓名

指导教师_______左亚尧________

 

2012年1月16日

 

1引言3

1.1课程设计选题4

1.2课程设计的目的4

1.3本选题的背景4

2系统分析和设计4

2.1功能及性能分析4

2.1.1功能需求4

2.1.2性能需求4

2.1.3数据流图5

2.2系统的开发环境5

2.3系统的总体设计6

3数据库设计6

3.1数据库概念结构7

3.1.1数据库中各表的数据描述如下:

7

3.1.2E-R图(各表ER图关系)9

3.2数据库逻辑结构10

3.2.1关系模型及优化10

3.2.2视图的设计10

3.3数据库的实现10

3.3.1表10

3.3.2安全性设计11

3.3.3一般性设计11

4详细设计与实现14

4.1文件目录结构设计及说明14

4.2注册模块程序说明15

4.3登录模块程序说明15

4.4购物车模块说明16

4.5书籍管理模块18

结论21

参考文献21

 

1引言

1.1课程设计选题

《网上购书系统》

1.2课程设计的目的

通过数据库系统课程设计,熟悉了Mysql数据库管理系统的结构与组成;掌握了Mysql数据库管理系统的应用技术和的使用;应用ASP开发工具实践了《在线考试系统》的数据库应用系统的设计方法、开发过程和SQLSERVER数据库的管理与维护。

最终达到掌握数据库管理系统的使用和开发,提高分析问题、解决问题和实践应用能力。

1.3本选题的背景

随着互联网的普及和发展,电子商务在互联网的潮流中扮演着重要的角色,改变着人们的日常生活情况。

网上购物不仅是一种潮流也是对人们的生活有巨大的的便利。

我们不乏看到许多的百货的电子商务商城,本课程设计是设计一个网上购书系统,让买书在互联网进行。

 

2系统分析和设计

2.1功能及性能分析

2.1.1功能需求

主要功能需求主要有:

●产品(书籍)管理:

主要是书籍的管理,管理书籍的名称、书籍介绍、价格等,主要是管理员有此权限。

●订单管理:

主要功能是把会员通过网站订购的产品,以列表的形式展示出来,并且能够修改记录的状态,来区分未结算订单和结算订单之间的状态。

●会员管理:

主要包括会员注册、登录等,以及会员登录后提供的结算功能。

令会员有购物车管理的功能。

●商品搜索:

提供搜索框,给予搜索功能。

主要根据用户输入的关键字,搜索与关键字匹配的产品名称和介绍。

 

2.1.2性能需求

数据一致性:

一旦管理员增加了书籍在商品库中,会员能够实时的看到,体现数据的一致性。

用户增加到购物车的书籍要实时增加,购物车中的书籍一旦经过结算应当改变相应的状态。

2.1.3数据流图

网上购书系统整体流图如下:

 

2.2系统的开发环境

开发平台与运行环境:

Windows7+PHP5.4.3+Mysql5.5.24+Apache2.2.22

2.3系统的总体设计

总体布局和框架

 

各个功能设计流程图略。

以下为网站包含文件(共13个文件夹和14PHP应用脚本程序,详细在详细设计中给出)

 

3数据库设计

3.1数据库概念结构

3.1.1数据库中各表的数据描述如下:

Ø产品数据表(o_product):

产品数据表用于记录管理员上传的产品信息,有产品名称,产品介绍,市场价,商城价。

如下:

字段

数据类型

长度

NULL

默认值

字段说明

id

int

4

Notnull

Auto_increment

产品编号自增

title

varchar

200

null

产品名称

intro

text

null

产品介绍

price

int

6

Null

市场价格

mprice

int

6

null

商城价格

fileid

varchar

200

null

附件id

commend

varchar

10

null

推荐

images

varchar

200

null

图片名称

 

Ø产品附件数据表(o_files):

产品附件数据库,用于保存与产品相关的图片文件信息。

字段

数据类型

长度

NULL

默认值

字段说明

id

int

4

Notnull

Auto_increment

编号自增主键

fileid

varchar

200

null

产品id

filetitle

varchar

255

null

附件标题

filename

varchar

200

Null

文件名称

filetype

varchar

200

null

文件类型

 

Ø会员数据表(o_members):

会员数据表,用于记录网站会员的登录,以及姓名、电话、地址等信息。

字段

数据类型

长度

NULL

默认值

字段说明

id

int

4

Notnull

Auto_increment

会员编号自增主

email

varchar

200

null

注册email

password

varchar

255

null

会员密码

nickname

varchar

100

Null

昵称

truename

varchar

100

null

真实姓名

sex

int

4

null

性别

telphone

varchar

100

null

固定电话

mobile

varchar

100

null

移动电话

address

text

null

通讯地址

admin

int

4

null

是否为管理员

Ø订单数据表(o_order):

会员结算后,产生的购物清单保存在订单数据表中,便于管理人员查看会员已经购买的物品。

字段

数据类型

长度

NULL

默认值

字段说明

id

int

4

Notnull

Auto_increment

订单编号自增主

pid

int

4

null

产品id

mid

int

4

null

会员id

price

int

6

Null

价格

number

Intr

4

null

数量

total

int

6

null

总价

over

int

4

null

是否购买

3.1.2E-R图(各表ER图关系)

 

3.2数据库逻辑结构

3.2.1关系模型及优化

所有的表都是自增主键ID,所以都符合3NF,无需另外优化

3.2.2视图的设计

无视图设计

3.3数据库的实现

3.3.1表

该系统共设置了四个表目,各表目结构如下:

Ø产品数据表(o_product):

产品数据表用于记录管理员上传的产品信息,有产品名称,产品介绍,市场价,商城价。

 

Ø产品附件数据表(o_files):

产品附件数据库,用于保存与产品相关的图片文件信息。

 

Ø会员数据表(o_members):

会员数据表,用于记录网站会员的登录,以及姓名、电话、地址等信息。

 

Ø订单数据表(o_order):

会员结算后,产生的购物清单保存在订单数据表中,便于管理人员查看会员已经购买的物品。

 

3.3.2安全性设计

权限的设置,只有管理员有插入新图书的权限。

3.3.3一般性设计

主要是对数据库表的两种完整性进行设计:

实体完整性:

通过设置主键都已实现。

参照完整性:

产品数据表与产品附件数据表相联系,插入、删除、和更新数据都要同步,会员表和订单表相联系

 

建表主要代码:

SETSQL_MODE="NO_AUTO_VALUE_ON_ZERO";

--

--数据库:

'onlinestort'

--

----------------------------------------

--

--表的结构:

'o_product'

--

CREATETABLE`o_product`(

`id`int(4)NOTNULLauto_increment,

`title`varchar(200)defaultNULL,

`intro`text,

`price`int(6)defaultNULL,

`mprice`int(6)defaultNULL,

`fileid`varchar(200)defaultNULL,

`commend`varchar(10)default'NO',

`images`varchar(200)defaultNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=5;

 

--

--表的结构:

'o_files'

--

CREATETABLE`o_files`(

`id`int(4)NOTNULLauto_increment,

`fileid`varchar(200)defaultNULL,

`filetitle`varchar(255)defaultNULL,

`filename`varchar(200)defaultNULL,

`filetype`varchar(100)defaultNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=2;

--

--表的结构'o_members'

--

CREATETABLE`o_members`(

`id`int(4)NOTNULLauto_increment,

`email`varchar(200)defaultNULL,

`password`varchar(200)defaultNULL,

`nickname`varchar(100)defaultNULL,

`truename`varchar(100)defaultNULL,

`sex`int(4)defaultNULL,

`telphone`varchar(100)defaultNULL,

`mobile`varchar(100)defaultNULL,

`address`text,

`admin`int(4)default'0',

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=2;

--

--表的结构'o_order'

--

CREATETABLE`o_order`(

`id`int(4)NOTNULLauto_increment,

`pid`int(4)defaultNULL,

`mid`int(4)defaultNULL,

`price`int(6)defaultNULL,

`number`int(4)defaultNULL,

`total`int(6)defaultNULL,

`over`int(4)default'0',

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=utf8AUTO_INCREMENT=5;

 

4详细设计与实现

4.1文件目录结构设计及说明

根目录下包含17个对象,三个文件夹和14个PHP应用脚本程序。

Index.php:

网站首页

Cart.php:

购物车程序

Global.php:

全局配置文件,数据库配置等

Login.php:

登录认证程序

Product.php:

书籍列表程序

Regiseter.php:

用户注册

Search.php:

书籍搜索

Store.php:

书籍详情页面

User.php:

用户密码修改

User_order.php:

用户订单管理

User_product.php:

用户书籍管理

User_product_upload.php:

书籍图片上传程序

Class:

核心类程序文件夹

Folder:

书籍图片上传文件夹

Templates:

页面模板文件存放文件夹

网站首页:

 

4.2注册模块程序说明

用户点击首页导航注册按钮,则会跳转到regiseter.php页面,填写表单进行注册,这时与会员数据表(o_member)进行交互,如果没有出现用户名重名,邮箱重复使用等情况则可通过注册。

如下图:

 

 

4.3登录模块程序说明

用户点击首页导航登录按钮,进入登录页面,输入登录邮箱和密码,如果邮箱和密码与会员数据表的数据相符则会提示登录成功,并跳转到修改密码页面。

如下图

 

登录成功后:

 

4.4购物车模块说明

用户在书籍列表中选择书籍后进入书籍详细页,选择放入购物车按钮,书籍进入用户购物车页面内。

购物车模块有结算功能,用户在购物车页面的书籍复选框中选择商品勾选,勾选完毕后即可点击结算按钮。

 

代码:

php

session_start();

include'global.php';

//获取以GET方法传递到本页的数据

if(isset($_GET["id"])){

$g->setSql("selectid,title,mpricefrom#_productwherefileid='".strval($_GET["id"])."'");

$p=NULL;

$g->loadObject($p);

$cart->addItem($p->id,$p->title,1,$p->mprice);

}

//获取以POST方法传递到本页的数据

if(isset($_POST["do"])){

switch($_POST["do"]){

case"cart":

if(count($_POST["cid"])>0){

foreach($_POST["cid"]as$v){

$g->setSql("selectid,title,mpricefrom#_productwhereid='".$v."'");

$p=NULL;

$g->loadObject($p);

$cart->addItem($p->id,$p->title,1,$p->mprice);

}

}

break;

case"delete":

if(count($_POST["cid"])>0){

foreach($_POST["cid"]as$v){

$cart->removeItem($v);

}

}

break;

case"order":

if(isset($_SESSION["i"])){

$cartArray=$cart->listArray();

if(count($_POST["cid"])>0){

$total=0;

foreach($_POST["cid"]as$id){

$order="";

$order["pid"]=$cartArray[$id]["id"];

$order["mid"]=$_SESSION["i"]["id"];

$order["price"]=$cartArray[$id]["price"];

$order["number"]=$cartArray[$id]["number"];

$sprice=$cartArray[$id]["price"]*$cartArray[$id]["number"];

$order["total"]=$sprice;

$g->insertObject("#_order",$order);

$total+=$sprice;

}

//清空购物车数据

$cart->clear();

//显示结算数据,并返回首页

$g->alert("结算成功,共计费用:

".$total."元","index.php",5);

}else{

$g->alert("请选择确定购买的产品","cart.php",1);

}

}else{

$g->alert("注册用户请登录后再进行结算,非注册用户请注册后再登录。

","login.php",5);

}

break;

}

}

?

>

4.5书籍管理模块

书籍管理模块涉及到产品数据表和产品附件数据表的操作,书籍管理模块为会员管理表admin表项为1的用户拥有。

用于管理上传图书信息,插入产品数据表和产品附件数据表。

如下图:

 

用例:

增加一本叫做《人人都是产品经理》的书:

 

效果如下:

 

代码:

php

//表单处理代码

if(isset($_POST["do"])){

$action=strval($_POST["do"]);

$error="";

switch($action){

case"addProduct":

$f=$_POST;

if($f["title"]==""){

$error.="书籍名称不能为空
";

}

$g->setSql("selectidfrom#_productwheretitle='".$f["title"]."'");

$g->query();

if($g->getLines()>0){

$error.="产品已经存在
";

}

if($error==""){

/*****创建文件夹代码开始****/

$path=

$pathSign="/";

$path="folder/".$uid."/".date("Y")."/".date("m")."/".date("d");

$dirArray=explode($pathSign,$path."/thumbnail");

$tempDir='';

foreach($dirArrayas$dir){

$tempDir.=$dir.$pathSign;

$isFile=file_exists($tempDir);

clearstatcache();

if(!

$isFile&&!

is_dir($tempDir)){

@mkdir($tempDir,0777);

}

}

/******创建文件夹代码结束***/

$p["title"]=$f["title"];

$p["intro"]=$f["intro"];

$p["price"]=$f["price"];

$p["mprice"]=$f["mprice"];

$p["fileid"]=md5(time().$uid);

$p["commend"]=$f["commend"];

$p["images"]=$path;

$g->insertObject("#_product",$p);

$g->alert('添加书籍成功','user_product.php',1);

}else{

$g->alert($error,'user_product.php');

}

break;

case"delete":

if(count($_POST["cid"])>0){

foreach($_POST["cid"]as$k=>$v){

$g->setSql("deletefrom#_productwhereid='".$v."'");

$g->query();

}

echo'删除成功';

}else{

echo'请选择要删除的记录';

}

break;

case"commend":

if(count($_POST["cid"])>0){

foreach($_POST["cid"]as$k=>$v){

$g->setSql("update#_productsetcommend='YES'whereid='".$v."'");

$g->query();

}

echo'推荐成功';

}else{

echo'请选择要上传图片的记录';

}

break;

case"upload":

if(count($_POST["cid"])>0){

$upid=end($_POST["cid"]);

$g->setSql("selectfileidfrom#_productwhereid='".$upid."'");

$g->query();

$up=$g->loadRow();

echo'';

}else{

echo'请选择要推荐的记录';

}

break;

}

}

?

>

---------产品列表开始--------->

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1