PHP案例 简易网上书店之定单与结算设计

上传人:jiups****uk12 文档编号:40007977 上传时间:2018-05-22 格式:DOC 页数:21 大小:442KB
返回 下载 相关 举报
PHP案例  简易网上书店之定单与结算设计_第1页
第1页 / 共21页
PHP案例  简易网上书店之定单与结算设计_第2页
第2页 / 共21页
PHP案例  简易网上书店之定单与结算设计_第3页
第3页 / 共21页
PHP案例  简易网上书店之定单与结算设计_第4页
第4页 / 共21页
PHP案例  简易网上书店之定单与结算设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《PHP案例 简易网上书店之定单与结算设计》由会员分享,可在线阅读,更多相关《PHP案例 简易网上书店之定单与结算设计(21页珍藏版)》请在金锄头文库上搜索。

1、案例 简易网上书店之定单与结算设计一、概述一、概述当用户完成了对商品的选购后,就应该列出所购书目的清单和总价,并与购物卡连接,指示用户进一步操作,如果卡中金额不足以支付此次购书的款额,提醒用户要么退出购物,准备其他的购物卡,要么减少购书的数量;当卡中金额足以支付此次购书的款额时,就完成购书,购物卡的金额被扣除并生成送书订单。二、系统架构二、系统架构简易网上书店之定单与结算模块,接在购物车模块之后,当用户按下【结帐】按钮之后开始的。包括所购图书结算界面、生成订单和退出三个部分。其中的数据来源是购物车对应的数据表,图书结算界面是把数据表中的数据提取出来按一定格式显示在浏览器上,生成订单界面要求会员

2、确认送书的地址和联系电话,允许会员修改,退出时要修改会员购书卡上的金额,同时清空购物车。本案例的具有以下功能:1显示所购书的信息。2计算所购书的总价。3根据购书卡的金额指示进一步的操作。4在可以购书的情况下生成订单并要求会员确认送书地址。4退出购物。本案例的工作流程图如图 1 所示。Web 服务 器用户从购物车清单页面 请求结帐读取确认的 购书信息数据库 服务器购书结 算页面退出完成购书修改购书卡金额 清空购物车放弃购书订单 生成生成订单数据 修改会员信息图 1三、系统设计三、系统设计1逻辑结构设计逻辑结构设计根据对系统的功能描述,可得如图 2 所示的系统逻辑结构图。订单生成 orderp.p

3、hp购书结算页面 buybook.php表单:显示购书信息生成订单控制流程转向清空购物车 orderbook.php订单确认 orderbook.php表单:地址、邮编和电 话 2数据库连接数据库连接与 MySQL 数据库服务器上名为 bookshop 数据库中的数据表card、usercard、userdata 和 buychat 中的数据有关联,同时需要建立订单数据表。表表 oderbook字段字段类型类型NULL说明说明备注备注bbookidint(11)否订单序列号auto_incrementuseridvarchar(30)否用户 idddtimedatetime否订单生成时间退出处

4、理程序 exit.php根据选择显示提示信息 修改购物卡金额 清空购物车ddstatusvarchar(1)否订单处理状态F(默认)表表 bbook字段字段类型类型NULL说明说明备注备注serialtinyint(4)否会员购书序列号auto_incrementbuynumint(11)否会员购书数量bookidvarchar(30)否所购书的编号bbookidint(11)否订单号注:通过 phpMyadmin 建立,在 MySQL 的 data 文件夹中会自动创建以此数据库为名的文件夹,包含相关数据。3界面设计界面设计定单结算页面:定单结算页面:buybook.php标题行书名出版社价格

5、购买数量合计表单(文本框)提示语:本次购买消费金额提示语:本卡原有金额(成功时) 提示语:金额不足(失败时)显示金额(成功时) 放弃购书(submit) (失败时)提示语:本卡余额(成功时) 提示语:减少图书(失败时)显示金额(成功时) 减少图书(submit) (失败时)完成购物(submit) (成功时)订单确认:订单确认:orderbook.php标题行会员 id:显示原有信息邮编:文本框(10)显示原有信息地址:文本框(40)显示原有信息电话号码:文本框(20)显示原有信息修改(submit)确定(submit)退出页面:退出页面:exit.php反馈退出信息(分放弃购物和购物完成两种

6、情况)。四、编码实现四、编码实现1定单结算页面:定单结算页面:buybook.php“;echo “location=checkchat.php“;echo “;$count+;$query=“UPDATE buychat SET buystatus=t“; $result=mysql_query($query,$connection) or die(“读取数据失败!3“);$zj=0;/记录购书总价?购物清单图书清单书名出版社定价(元)购买数量(册)总价(元)“;echo “.$bc$jbookname.“;echo “.$bc$jpublisher.“;echo “.$bc$jbuypri

7、ce.“;echo “.$bc$jbuynum.;echo “.$hj.“echo “;$zj=$zj+$hj;$query=“select cardno from usercard where userid=$userid“;$results=mysql_query($query,$connection) or die(“数据请求操作失败!“);$cardno=mysql_result($results,0,“cardno“);$query=“select balance from card where cardno=$cardno“;$results=mysql_query($query,

8、$connection) or die(“数据请求操作失败!“);$balance=mysql_result($results,0,“balance“);$nbla=$balance-$zj;$_SESSIONnbla=$nbla;?本次购书消费金额:$balance)echo 该卡号余额不足,请向卡内充值或换一张卡! 也可以减少图书! ;elseecho 该卡号原有金额为:;echo $balance;echo 消费后剩余金额为:;echo $nbla;echo ;? - buybook.php -代码解读代码解读1)获取会话变量)获取会话变量会员会员 idsession_start();

9、要把在登录时创建的会话变量(会员 id)取出,必须先创建会话;$userid=$_SESSIONuserid; 获取会话变量,将在数据库操作中使用;2)包含数据库服务器配置变量文件)包含数据库服务器配置变量文件使用require_once()函数把数据库服务器配置变量文件包括需要它们的每一个页面。其参数是公共文件 sys_conf.inc,用于设置系统使用的数据库全局变量。3)准备显示订单数据)准备显示订单数据主要算法是:包含数据库服务器配置数据文件连接数据库服务器设置数据库服务器处理的字符集,以处理汉字在浏览器上的显示打开数据库 bookbook读取数据表 buychat 中指定会员的数据并

10、赋予变量$result读取数据表 bookinft 中的数据并赋予变量$result2依次提取数据集$result 字段 buyprice、booknum 和 bookid 中的值赋给数组变量$bc依次提取数据集$result2 与数据集$result 中字段 bookid 相同的记录的字段bookname、publisher 中的值赋给数组变量$bc如果 booknum 为 0,就返回到 chechchat.php;修改购物车的状态;初始化购书总价变量$zj;关闭数据库连接。 返回到 chechchat.php 使用 JavaScript。4)用)用 HTML 编写在浏览器上显示的购书结算页

11、面编写在浏览器上显示的购书结算页面注意:当购书卡上的金额不足以购书时,提供两种选择, “放弃购书”的提交按钮交给 exit.php 处理, “减少书目”的提交按钮交给 checkchat.php 处理。当购书卡上的金额足以购书时,提供了“完成购书”的提交按钮,此表单交给 orderbook.php 处理,5)这段代码中用到的)这段代码中用到的 SQL 命令命令命令格式命令格式含义含义set names gb2312设置字符处理集为 gb2312SELECT * FROM buychat where userid=$userid获取数据表 bookchat 中与登录会 员相关的所有记录SELEC

12、T * FROM bookinf order by bookid获取数据表 bookinf 中的所有记 录UPDATE buychat SET buystatus=t where userid=$userid更新数据表 buychat 中登录会员 的购书状态select cardno from usercard where userid=$userid获取数据表 usercard 中登录会员 的购书卡号select balance from card where cardno=$cardno获取数据表 card 中指定购书卡号 的金额6)程序中用到的变量)程序中用到的变量变量名变量名取值取值含

13、义含义$userid字符串记录会员 ID$connection整数,标识连接数据库的句柄记录连接数据库德指针$querySQL 命令记录 SQL 命令$result,$result2查询数据集记录执行 SQL 命令后的返回结果$count,$i,$j整数记录购物车上的记录序号$row,$row1数组记录查询数据集中的一条记录$bc查询数据集中的值,二维数组记录查询结果数据集的值$cardno字符串记录会员所持购书卡的卡号$balance浮点数记录会员所持购书卡的金额$zj浮点数记录会员本次购书的总金额$nbla浮点数记录会员所持购书卡的余额7)程序中用到的函数)程序中用到的函数函数函数用法用法

14、含义含义count()参数取数组型统计数组中元素的个数mysql_connect()三个参数分别是服务器名,会 员名,会员密码连接到指定的数据库服务器上,访 问会员建立的数据库die()参数取字符串型返回字符串的信息,错误警报mysql_query()参数为 SQL 命令执行 SQL 命令mysql_select_db()参数为数据库名打开数据库文件mysql_fetch_array()参数为字符串以数组返回查询数据集中的记录mysql_result()参数为字符串,整数和字符串, 分别指示查询结果集、记录行 和字段查询结果集中指定字段值mysql_close()参数为标识连接数据库的句柄关闭

15、数据库文件2订单确认订单确认 orderbook.php定单信息确认请确认送书的地址、邮编和联系电话会员 id:邮编:“地址:“电话号码:“ /- orderbook.php-代码解读代码解读1)获取会话变量)获取会话变量会员会员 idsession_start(); 要把在登录时创建的会话变量(会员 id)取出,必须先创建会话;$userid=$_SESSIONuserid; 获取会话变量,将在数据库操作中使用;2)获取会员数据(地址、邮编和电话)获取会员数据(地址、邮编和电话)这个部分代码的算法是:包含数据库服务器配置数据文件连接数据库服务器设置数据库服务器处理的字符集,以处理汉字在浏览器

16、上的显示打开数据库 bookbook读取数据表 userdata 中的指定会员的数据赋予变量$result提取字段 post、addr 和 phone 中的值关闭数据库连接。 4)用)用 HTML 编写在浏览器上显示的会员确认送书信息的页面编写在浏览器上显示的会员确认送书信息的页面注意:表单中的两个提交按钮表单交给 orderp.php 处理,这两个按钮的名称成为变量 act 的值,orderp.php 会根据 act 的取值进行区分处理。5)这段代码中用到的)这段代码中用到的 SQL 命令命令命令格式命令格式含义含义set names gb2312设置字符处理集为 gb2312SELECT * FROM userdata where userid=$userid获取数据表 userdata 中与登录 会员相关

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号