在开发一个Web程序的时候用到了网购这个功能,上来分享并记录一下,以便以后忘记了可以自己看看(电脑东西太多,笔记都不知道放哪里去了啊啊啊啊啊!!!)
没有什么高并发量,什么什么技术理论,只是一个最最基本的网购功能
首先,我们需要一张购物车表,这里我使用的是mssql2005,表结构如下:
Id,不用说,标识字段,自动增长(你tm不是说了吗。。。)
userId,购买用户的Id
BookId,购买的图书的Id(因为我做的是网上书城,所以是图书Id,根据需要更改)
Count,商品的数量
AddDate,添加日期
IsDelete,标识位,是否删除)
具体的流程如下:
跳转到购物车:当用户点击购买的时候带着商品的Id跳到购物车的页面,后台根据Session中用户的信息(假设用户已登录,关于权限控制可以看看这个asp.net权限控制)查询数据库中购物车表的信息,如果在表中该用户已经添加了该物品(先对比UserId,在对比BookId),则对应的购物车项数量++(给个真的不是艹。。。而是加加),否则就新添加进购物车表
关于更改购物车物品数量:
更改购物车物品数量(假设有加减按钮):通过ajax进行物品数量的加减,点击加减按钮,对数量框的数值进行操作(自增或者自减),然后通过ajax将这个数值传到服务器,更新进数据库,在返回数据库中最新的数值,并赋值给数值框
直接修改数量框的值:用户手动输入物品的数量的时候,要判断输入的是否为数字(使用正则表达式),如果不是正确的数字(如:001等),进行一些处理,如果输入的不是数字,提示并将数量框的值回复(可以在数量框的事件中将原来的值保存在一个全局变量中),用户修改完毕之后,通过ajax发送到后台处理(与上面类似)
最后是计算并显示购物车物品的总价(只是在前台):
设置一个全局变量totalMoney,先找到每个物品所在的tr,使用js的each对其进行遍历,取出每一行的单价和数量相乘,然后对totalMoney进行累加,并将其显示。