电子商务网站建设教程第14章.ppt
《电子商务网站建设教程第14章.ppt》由会员分享,可在线阅读,更多相关《电子商务网站建设教程第14章.ppt(101页珍藏版)》请在冰豆网上搜索。
![电子商务网站建设教程第14章.ppt](https://file1.bdocx.com/fileroot1/2022-10/19/1aacb631-8c7c-477d-9103-8ef326461827/1aacb631-8c7c-477d-9103-8ef3264618271.gif)
第第14章章集成的购物车系统集成的购物车系统14.1系统功能与组成系统功能与组成14.2数据库设计数据库设计14.3实现商品搜索功能实现商品搜索功能14.4实现专门的放入购物车功能实现专门的放入购物车功能14.5完善购物车系统完善购物车系统14.6实现下订单功能实现下订单功能14.7本章摘要与重点回顾本章摘要与重点回顾本章讲解顾客购物系统的实现方法,以此引入更多的本章讲解顾客购物系统的实现方法,以此引入更多的知识点和技巧。
知识点和技巧。
一个真正的购物系统,其商品达到一定的数量,通过一个真正的购物系统,其商品达到一定的数量,通过单纯的浏览功能找到一件商品是相当辛苦和损害视力单纯的浏览功能找到一件商品是相当辛苦和损害视力的苦差使。
因此,提供根据特定条件搜索商品的功能的苦差使。
因此,提供根据特定条件搜索商品的功能是必不可少的,类似的搜索功能会在大多数电子商务是必不可少的,类似的搜索功能会在大多数电子商务网站上看到。
一个初级的商品搜索功能,提供顾客单网站上看到。
一个初级的商品搜索功能,提供顾客单纯的搜索,可以让顾客输入一定的条件来查到符合条纯的搜索,可以让顾客输入一定的条件来查到符合条件的商品,再根据查到的信息到购物功能的页面输入件的商品,再根据查到的信息到购物功能的页面输入查到的商品信息来购物,也就是说,搜索和购物是分查到的商品信息来购物,也就是说,搜索和购物是分离的。
离的。
14.1系统功能与组成系统功能与组成更加方便的做法是把搜索和购物功能结合在一起,在更加方便的做法是把搜索和购物功能结合在一起,在搜索到的商品里直接提供了对商品的操作,比如选购,搜索到的商品里直接提供了对商品的操作,比如选购,这样会更方便,当然实现起来也需要更多的技巧。
本这样会更方便,当然实现起来也需要更多的技巧。
本章将先介绍实现初级的搜索功能,然后再把它改造得章将先介绍实现初级的搜索功能,然后再把它改造得更加方便。
更加方便。
搜索到具体商品后,顾客可以通过购物页面来选择某搜索到具体商品后,顾客可以通过购物页面来选择某一件商品,选购可能成功,也可能不成功,当库存数一件商品,选购可能成功,也可能不成功,当库存数为空,再试图选择某商品时,选购也可能失败。
为空,再试图选择某商品时,选购也可能失败。
购物过程中,顾客可能想看一下到目前为止选了哪些购物过程中,顾客可能想看一下到目前为止选了哪些商品,这个功能即典型的电子商务网站上的购物车功商品,这个功能即典型的电子商务网站上的购物车功能。
能。
回顾网上书店的整体数据库设计,如图回顾网上书店的整体数据库设计,如图14-1所示。
所示。
与本章密切相关的是与本章密切相关的是ShopingCart表,该表用来存储表,该表用来存储顾客购物车的信息,也就是顾客到目前为止选了哪些顾客购物车的信息,也就是顾客到目前为止选了哪些商品,但这些商品仍未结账,其中各字段的意义如下。
商品,但这些商品仍未结账,其中各字段的意义如下。
Username:
字段类型为字段类型为“字符型字符型”,长度为,长度为20,存放内容为存放内容为“顾客的账号顾客的账号”,用于区分不同顾客的购,用于区分不同顾客的购物车。
物车。
14.2数据库设计数据库设计图图14-1网上书店的整体数据库结构网上书店的整体数据库结构ProductID:
字段类型为字段类型为“字符型字符型”,长度为,长度为10,存放内容为存放内容为“商品代码商品代码”,用于表示哪个商品放在购,用于表示哪个商品放在购物车里。
物车里。
Quantity:
字段类型为字段类型为“整数型整数型”,长度为,长度为4,存,存放内容为放内容为“该商品的数量该商品的数量”。
由于商品的其他信息在由于商品的其他信息在Catalog表里都有,因此表里都有,因此ShopingCart表用这些字段就够了。
表用这些字段就够了。
ShopingCart表以表以Username和和ProductID为主键。
为主键。
另一个与本章密切相关的是另一个与本章密切相关的是Order表,该表用来存储表,该表用来存储顾客的订单信息,也就是顾客最终购买了哪些商品。
顾客的订单信息,也就是顾客最终购买了哪些商品。
其中各字段的意义如下。
其中各字段的意义如下。
OrderID:
字段类型为字段类型为“字符型字符型”,长度为,长度为10,存,存放内容为放内容为“一次购买的订单号一次购买的订单号”。
Username:
字段类型为字段类型为“字符型字符型”,长度为,长度为20,存放内容为存放内容为“顾客账号顾客账号”,说明是哪个顾客的订单。
,说明是哪个顾客的订单。
ProductID:
字段类型为字段类型为“字符型字符型”,长度为,长度为10,存放内容为存放内容为“商品代码商品代码”,用于表示购买了哪个商品。
,用于表示购买了哪个商品。
Quantity:
字段类型为字段类型为“整数型整数型”,长度为,长度为4,存,存放内容为放内容为“该商品的数量该商品的数量”。
Listprice:
字段类型为字段类型为“数值型数值型”,长度为,长度为9,小,小数为数为2,存放内容为,存放内容为“该商品的单价该商品的单价”。
Orderdate:
字段类型为字段类型为“日期型日期型”,长度为,长度为8,存放内容为存放内容为“下单的日期时间下单的日期时间”。
由于商品的其他信息在由于商品的其他信息在Catalog表里都有,因此表里都有,因此Order表用这些字段就够了。
表用这些字段就够了。
Order表以表以OrderID和和ProductID为主键,从商务的角为主键,从商务的角度讲,订单号的编码规则必须保证度讲,订单号的编码规则必须保证OrderID是惟一的,是惟一的,任意两个订单的订单号都不能相同。
任意两个订单的订单号都不能相同。
虽然在虽然在Catalog表里也有表里也有Listprice字段,但还要放进字段,但还要放进Order表中,这是因为表中,这是因为Catalog表的商品单价随着时间表的商品单价随着时间的变化和促销手段的变化是会变的,而的变化和促销手段的变化是会变的,而Order表中的表中的商品单价,一旦下单就以下单时的单价为准而不变了。
商品单价,一旦下单就以下单时的单价为准而不变了。
因此凡是因此凡是Catalog里需要瞬时定价不变的那些字段都里需要瞬时定价不变的那些字段都应该放入应该放入Order表。
具体哪些字段应放入表。
具体哪些字段应放入Order表,表,视商务应用设计的需要而定,对这个例子来说,认为视商务应用设计的需要而定,对这个例子来说,认为Listprice是需要瞬时定价的。
是需要瞬时定价的。
在本节中将讨论以下在本节中将讨论以下4个问题:
个问题:
如何使用高级方式的定义复杂的记录集;如何使用高级方式的定义复杂的记录集;如何在记录集定义的如何在记录集定义的SELECT语句中引用表单元语句中引用表单元素值;素值;【显示区域】服务器行为;【显示区域】服务器行为;SELECT语句的具体应用。
语句的具体应用。
14.3实现商品搜索功能实现商品搜索功能14.3.1实现基本的搜索功能实现基本的搜索功能这一节将给网上书店添加初级的搜索功能,能够让顾这一节将给网上书店添加初级的搜索功能,能够让顾客按照关键字来搜索商品,具体实现的操作步骤如下。
客按照关键字来搜索商品,具体实现的操作步骤如下。
1)创建商品搜索页面创建商品搜索页面先创建一个新的支持先创建一个新的支持ASPVBScript的动态页面。
的动态页面。
2)定义购书系统的数据库连接定义购书系统的数据库连接由于同一应用可以共享数据库连接,因此这个页面仍由于同一应用可以共享数据库连接,因此这个页面仍然可以使用然可以使用PurchaseSys数据库连接,不需要另外定数据库连接,不需要另外定义。
义。
3)创建页面布局和页面元素创建页面布局和页面元素
(1)在新页面中加入如图在新页面中加入如图14-2所示的基本元素,其中所示的基本元素,其中标题和其他静态部分,读者都可以根据自己的喜好用标题和其他静态部分,读者都可以根据自己的喜好用前面各章节描述的创作静态页面的方法来设计,使页前面各章节描述的创作静态页面的方法来设计,使页面美观实用。
面美观实用。
图图14-2搜索商品的网页页面搜索商品的网页页面表单部分是必须有的,用它来生成动态行为,如图表单部分是必须有的,用它来生成动态行为,如图14-2所示,添加一个表单,表单包含的元素类型和属所示,添加一个表单,表单包含的元素类型和属性如表性如表14-1所示。
所示。
表表14-1表单元素类型、属性和说明见书表单元素类型、属性和说明见书323页。
页。
(2)选择主菜单中的【文件】选择主菜单中的【文件】|【保存】命令,把这个【保存】命令,把这个页面保存到页面保存到PurchaseSys子目录下,取名为子目录下,取名为searchcatalog.asp。
4)创建搜索结果页面创建搜索结果页面先创建一个新的支持先创建一个新的支持ASPVBScript的动态页面,保的动态页面,保存为存为searchresult.asp。
5)定义购书系统的数据库连接定义购书系统的数据库连接由于同一应用可以共享数据库连接,因此这个页面仍由于同一应用可以共享数据库连接,因此这个页面仍然可以使用然可以使用PurchaseSys数据库连接,不需要另外定数据库连接,不需要另外定义。
义。
6)定义传递参数用的表单元素定义传递参数用的表单元素在【应用程序】浮动面板的【绑定】选项卡中,定义在【应用程序】浮动面板的【绑定】选项卡中,定义【名称】的类型为【名称】的类型为“请求请求”的请求变量的请求变量“txtName”。
图图14-3【记录集】对话框【记录集】对话框7)创建搜索用的记录集创建搜索用的记录集rstSearchResult
(1)创建一个复杂的查询记录集,这个记录集将用于创建一个复杂的查询记录集,这个记录集将用于在提交表单后,真正的执行数据库查询功能。
如图在提交表单后,真正的执行数据库查询功能。
如图14-3所示,在【记录集】对话框中,单击【高级】按所示,在【记录集】对话框中,单击【高级】按钮,进入高级【记录集】对话框,如图钮,进入高级【记录集】对话框,如图14-4所示。
所示。
(2)在高级【记录集】对话框中,设置各个选项。
【在高级【记录集】对话框中,设置各个选项。
【记录集】对话框中的【名称】和【连接】两项参数的记录集】对话框中的【名称】和【连接】两项参数的设置不需要再作解释,完成如图设置不需要再作解释,完成如图14-4所示的设置即可。
所示的设置即可。
(3)高级记录集是基于高级高级记录集是基于高级SQL查询语句查询语句SELECT的。
的。
首先,在变量设置区域中添加在首先,在变量设置区域中添加在SELECT语句中需要语句中需要用到的变量,使用变量可以方便地引用表单元素的值。
用到的变量,使用变量可以方便地引用表单元素的值。
图图14-4高级【记录集】对话框高级【记录集】对话框在这里变量有两类值:
在这里变量有两类值:
【默认值】和【运行时值】。
【默认值】和【运行时值】。
【默认值】在表单提交前起作用,因为此时表单元【默认值】在表单提交前起作用,因为此时表单元素还没有有效的值,同时它还在测试时起作用,如果素还没有有效的值,同时它还在测试时起作用,如果单击【测试】按钮,出现的查询结果就是以默认值为单击【测试】按钮,出现的查询结果就是以默认值为条件填入上面的条件填入上面的SQL语句所得到的查询结果。
语句所得到的查询结果。
【运行时值】通常都是用表单元素值,在表单提交【运行时值】通常都是用表单元素值,在表单提交后起作用,当然,也可以用别的动态值。
这里添加的后起作用,当然,也可以用别的动态值。
这里添加的变量如表变量如表14-2所示。
所示。
表表14-2变量的值和说明见书变量的值和说明见书324页。
页。
要点提示要点提示:
可以通过设置不同的默认值来测试复杂记录集的运行可以通过设置不同的默认值来测试复杂记录集的运行效果。
效果。
(4)接下来是到目前为止最难的一个任务,即编写接下来是到目前为止最难的一个任务,即编写SELECT查询语句,把它填入【查询语句,把它填入【SQL】文本框中,文文本框中,文本