在本章中,我们将学习如何创建一个基本的购物车。我们将此购物车添加到Book-O-Rama数据库之上,该数据库是我们在第二篇“使用MySQL”实现的。此外,我们还将探讨另外一种选择:创建和使用一个已有的、开放源代码的PHP购物车。
如果以前还没有听说过这些内容,那让我们先了解一下术语“购物车”。“购物车”(有时也叫购物篮)用来描述一种特定的在线购物机制。当浏览一个在线目录的时候,可以将一些商品添加到购物车中。在完成浏览之后,要与在线商店结账——也就是买下购物车内的商品。
为了实现购物车,我们需要完成下面的功能:
■在线出售商品的数据库
■一个在线产品目录,按商品种类分类
■一个能记录用户打算购买商品的购物车
■结账脚本,处理付款和运送细节
■一个管理界面
28.1 解决方案的组成
回忆一下在本书第二篇创建的Book-O-Rama数据库。在本项目中,我们将建立Book-O-Rama在线商店并运行它。该解决方案的组成主要包括如下所示。
■我们需要找到一种将数据库连接到用户的浏览器的方法。用户能够按目录浏览商品。
■用户应该能够从商品目录中选取商品以便此后购买。我们也要能够记录他们选中的物品。
■当用户完成购买,要合计他们的订单,获取运送商品细节,并处理付款。
■我们还应该为Book-O-Rama网站创建一个管理界面,以便管理员在上面添加、编辑图书和目录。
现在,我们已经了解了项目的需求,开始开始设计解决方案及其组成。
28.1.1 创建一个在线目录
我们已经有了一个用来创建Book-O-Rama目录的数据库。但是,要实现该目录,还需要修改和添加一些功能。其中之一就是要添加图书的目录,如需求中所述。
我们还要为现存的数据库添加一些关于商品运送地址、付款细节等的信息。我们已经知道了如何使用PHP创建一个连接到MySQL数据库的界面,因此创建管理界面这一步就很简单了。
在完成顾客订单的时候,还应该使用事务。要使用事务,必须将Book-O-Rama表格转换成使用InnoDB存储引擎。这个处理也是非常简单和直观的。