php生鲜超市系统,毕业论文:基于PHP平台下的Ajax开发实践—网上生鲜超市系统的开发...

本文详述了一种网上生鲜购物系统的开发,利用PHP和Ajax技术实现。系统包括面向用户和管理员两部分,用户可以浏览、购买商品,管理员则能管理订单和商品信息。Ajax技术用于实现异步数据传输,提高用户体验。数据库设计中包含了用户信息、商品信息和订单信息的管理。购物车功能允许用户添加商品并进行结算。
摘要由CSDN通过智能技术生成

毕业论文:基于PHP平台下的Ajax开发实践—网上生鲜超市系统的开发

发表时间:2013-5-8 12:17:49

大学学士毕业论文

基于PHP平台下的Ajax开发实践 ——网上生鲜超市系统的开发

专  业:数学与应用数学

届  别: 2011届本科

摘要

如今网上购物已经深入人心,甚至成为了一种时尚。网络购物是互联网、银行、现代物流业发展的产物,通过网上的虚拟行为来购买自己需要的商品或服务。随着internet的发展,网络购物已经越来越普及。

网络购物的方便、快捷、实惠已经使得它成为了势不可挡的发展趋势。正是基于此,我们利用PHP工具和Ajax技术开发了这个网上生鲜购物超市系统。该系统由面向客户端和面向管理员端两部分组成:在客户端我们可以浏览商品,查看商品详情以及对该商品发表评论,购买商品等;在管理员端我们可以实现管理订单,进货,修改商品信息等功能。为了避免繁琐,我们使用模板来设计该系统,同时大量地运用了Ajax技术来实现异步数据传输和刷新,完成用户数据与服务器及数据库之间的交互,减少浏览器为了刷新而向服务器请求的数据量。

关键字: PHP;模板;Ajax

Abstract

In recent years, shopping on line has come into fashion. The development of the internet, bank and modern logistic industry contribute to its popularity. By clicking the keyboard and mouse, we can buy whatever it supplies.

Online shopping is bound to achieve considerable headway with the development of the internet. Online shopping’s advantages including convenience, swiftness and attractive price, which make it an overwhelming trend. Based on this, we developed this online shopping system by using PHP and Ajax. Th

……(新文秘网http://www.wm114.cn省略1562字,正式会员可完整阅读)……

是存放用户已点击购买但还未提交的商品信息。网站的用户登陆信息和购物车中的商品信息均用SESSION变量来表示。因此购物车会依据SESSION变量来显示购物信息。在购物车中也可以更改已选购商品的信息。在确认商品信息无误后就可以进行结算,在结算时会要求用户填写收货人信息,之后就可以提交给服务器,生成订单。在后台管理中为了进货和修改商品信息的需要,还需添加修改商品图片的功能。

图1-1 购物流程图

第二章 系统概要设计

2.1 需求分析

随着生活水平的日益提高,人们的生活趋于多元化,生活节奏较以前快很多,如何提高生活效率是现代人在实践中一直探索的问题。居住在城市中的人往往需要到距离比较远的地方才能买到新鲜的菜;在广大的上班族中,不少人的由于时间关系很难买到新鲜的菜;同时很多人习惯到某个特定的选择不多的场所去购买生鲜食品;甚至为了节省时间,许多人在平常生活中养成了不吃饭或吃快餐的习惯。这些都会给我们的生活质量大打折扣。追求生活高效与追求身体健康之间的矛盾越显突出。网上生鲜购物超市的诞生能够很好的解决这些问题。

2.2 功能结构图

按照前面的叙述,可绘制系统功能结构图2-1:

图2-1 系统功能结构图

子系统功能结构图2-2:

图2-2 子系统功能结构图

2.3 技术简介

Ajax:

Ajax为“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),是一种广泛应用在浏览器的网页开发技术。它综合了JavaScript XML HTML CSS等多项技术,并被所有的主流浏览器支持。

传统的Web应用允许用户端填写表单(form),当提交表单时就向Web服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML代码往往是相同的。由于每次应用的数据交流都需要向服务器发送请求,应用的回应时间就依赖于服务器的回应时间。这导致了浏览器的刷新比本机应用慢得多。与此不同,Ajax应用可以仅向服务器发送并取回必需的数据,它使用基于XML的页面服务接口(接口),并在客户端采用JavaScript脚本语言处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少(大约只有原来的5%),我们就能看到回应(服务器回应)更快的应用(结果)。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

Ajax的应用模式如图2-3:

图2-3 Ajax应用模式结构图

PHP:

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。它是一个应用范围很广的语言,特别是在网络程序开发方面。一般来说PHP大多在服务器端运行,通过运行PHP的代码来产生网页提供浏览器读取。此外也可以用来开发命令行脚本程序和用户端的GUI应用程序。PHP可以在许多的不同类型的服务器、操作系统、平台上运行,也可以和许多数据库系统结合。使用PHP不需要任何费用,官方组织PHP Group提供了完整的程序源代码,允许用户修改、编译、扩充来使用。

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。PHP与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

2.4 开发与运行环境

我们使用的开发和运行环境为WAMP,它是指 Windows + Apache + MySQL + PHP组合。其中的Apache是排名第一的Web服务器软件,几乎支持所有的计算机平台。由于配置Apache和MySQL及PHP比较麻烦,我们直接安装一个PHPnow软件。该软件整合了Apache、MySQL和PHP,直接安装即可,免去了复杂的配置。Apache的版本是2.0,MySQL的版本是5.0,PHP的版本是5.2.14。

2.5 数据库设计

网站的设计是离不开数据库设计的。作为PHP的黄金组合,MySQL具有体积小、速度快、总体拥有成本低的特点,适合中小型网站。在涉及数据库的操作时,我们会经常用到phpMyAdmin,它是由PHP编写的一个MySQL资料库系统管理程式,可以让管理者用Web界面管理MySQL资料库。给我们设计数据库带来很大的方便。

我们从数据库的管理对象即实体出发来设计数据库。主要的实体有商品,会员,订单。

图2-4 会员、订单、商品实体关系图

由于MySQL是一种关系数据库,在用户看来,数据的逻辑结构是一张二维表。从上面的E-R图直接可以得到三个二维表:用户信息表,商品信息表,订单信息表。用户信息表2-1中并没有用户权限这个属性,这是因为管理员信息被存储在另一个表中:

用户信息表2-1

商品信息表2-2

为了给用户在填写送货地址时提供方便,我们设置一个城市选择二级联动菜单,并把送货地址分成了三个部分:省份、城市、详细地址。

订单信息表2-3

在订单信息表2-3中,我们没有写入购物车中的商品信息。订购的商品信息被保存在另一个表,订单商品信息表2-4中。为了保证参照完整性,还必须设置表的外键。我们把订单商品信息表2-4中的orderID属性设为一个外键。

表2-4订单商品信息表

这里只介绍了设计数据库的基本方法,其它表的结构这里就不一一赘述。

第三章 购物车的设计与实现

3.1 向购物车中添加商品

在查看商品时,若想将某件商品放入购物车,可以单击购买按钮。此时会弹出对话框,商品成功加入购物车。若之前已将该物品放入购物车,则会弹出对话框提示该商品已加入购物车。之后顾客可以继续浏览商品或进入购物车结算。

在单击“购买”按钮时会触发函数buy(),buy()函数会创建XMLHttpRequest对象,该对象可以在不重新加载页面的情况下更新网页。此时浏览器会通过XMLHttpRequest对象利用GET方式向buy.php文件(在服务器端执行)发送商品名称($row[Title])和该商品的单价($row[UnitPrice])。其中数组$row表示数据库中商品信息表2-2的一个元组,每一个元组对应一种商品。所以$row中包含了某种商品的所有信息。如商品名称($row[Title])、单价($row[UnitPrice])、厂商($row[Manufactures])、商品类型($row[CategoryID])、库存($row[Stock])、商品描述($row[Description])等。在单击“购买”时, $row对应该页面所描述的商品。由于购物车中的商品信息均用SESSION变量(均为字符串)记录,所以在向购物车添加商品时,服务器端首先通过isset()函数判断是否已声明用于表示商品名称、商品单价以及的购买商品数量所对应的SESSION变量$_SESSION["goodsid"]、$_SESSION["goodspri"]和$_SESSION["goodsnum"]。若未申明则通过语句

session_register("变量名");

来申明相应变量。三个变量的初始值均为空,表示购物车中未添加任何商品。在添加某个商品时若判断出这三个变量为空,则直接添加所对应的信息(商品数量默认为1),并在结尾添加@。添加“@”是因为这三个$_SESSION变量是一个字符串,包含了所有对应的信息。如变量$_SESSION["goodsid"]包含了所有购物车中的商品名称,商品名称之间用“@”隔开。若在向购物车中添加商品时判断出三个变量不为空,则还需判断购物车中是否已存在该商品。为了检验在变量$_SESSION["goodsid"]中是否存在指定的商品,可利用函数explode("@",$_SESS ……(未完,全文共16656字,当前仅显示4387字,请阅读下面提示信息。收藏《毕业论文:基于PHP平台下的Ajax开发实践—网上生鲜超市系统的开发》)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值