2、 查看购物车
为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通过它可以将用户所有选中的商品信息放入购物车中显示出来。在程序中使用了一组文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量然购单击“修改”按钮。如果欲删除该商品,可以在数量文本框里输入“0”,并需要单击“修改”按钮来更新购物车中商品的数量。
系统每次只会将1个商品放入购物车中,如果用户需要多个同种商品,可以通过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按钮来保存操作。
3、 生成订单
生成订单时网上购物商城的最终目的,前面所有功能的实现都是为最后生成一个用户满意的订单作基础,在此要生成一个可供用户随时查询的订单号,还要保存用户订单中所购买的商品信息。当用户确认对购物车不再改变以后,就可以到收银台结帐并生成订单。结帐的流程为:从购物车中读取商品名称,商品数量,商品价格信息,生成一个唯一的订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库。
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登录后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户标中取出即可;生成唯一订单号方法有很多,只要确保订单号码的唯一性及方便用户记录以便于查询自己订单的执行状态即可。
订单生成后,用户单击“提交”按钮,便可以将录入的订单信息保存到数据库中。
4、 清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物一定要清空购物车再进行选购商品,这样防止重复购物,其实清空购物车实现起来非常简单,只需要将session中存储的shop对象清空即可。
购物车模块流程图如图5.9所示。
33
开 始 查询数据库 否 数据是否存在 是 显示商品的信息 否 是否放入购物车 是 购物车是否为空 否 购物车中已 存在该商品 是 该商品数量加1 是 没有该商品 否 新建购物车 将商品添加入购物车 显示购物车信息 修改商 品数量 是否继续购物 否 是否修改商品数量 否 是否清空购物车 否 否 是否去收银台 是 接收填写的订单信息 是 数据是否为空 否 订单信息存入数据库 否 是 是 删除购物 车中商品 更新是否成功 是 结 束 图 5.9购物车模块流程图
34
5.3.4 订单查询模块
用户提交订单后,通过产生的订单号查询订单信息及执行状态。用户在购物中心首页中单击“订单查询”超链接,就可以进入输入订单号页面,在页面的文本框中输入订单号并单击“提交”按钮,如果订单号输入无误,系统将根据用户录入的订单号在数据表中查询处对应的货品信息并转到订单查询显示页面将货品信息显示出来。
订单查询模块流程图如图5.10所示。
开 始 无该订单号 接收订单号信息 查询数据库 否 订单号是否存在 是 显示出订单信息 结 束
图 5.10 订单查询模块流程图
5.3.5 留言板模块
留言板模块由浏览留言板和添加留言板两部分组成。下面分别对这两部分进行介绍。
1、浏览留言板
单击网站首页的“留言板”超链接进入留言板页面,在该页面中,主要显示用户所填写的留言,以便其他用户查阅。
留言板中显示的数据是从数据表中检索出来并显示在网页中的,为了方便查看网页信息,使用了分页显示功能。对网页进行分页显示首先要确定记录跨度,就是每页所显示的记录数,在这个网站的留言板中,设定了int pagesize=4,即每页中只允许显示4条留言信息,用户可以通过单击“上一页”、“下一页”、“最后一页”、“第一页”或则从文本框中键入一个数值跳转到相应页浏览留言信息。
35
记录的总条数可以从数据库中通过查询语句rs.last();rowcount=rs.getRow得到,而计算总页数时,根据总页数=总记录数/跨度,如果除不尽就加1的原理,设计代码为:
pagecount=((rowcount%pagesize)==0?(rowcount/pagesize);(rowcount
/pagesize)+1)。
如果获取文本框中的数据不为空就把它转换成整型数据,然后赋值给当前获取页再做进一步判断;如果获取的页数大于总页数就把总页数赋给获取页数,否则就把获取页数值赋为1。而计算当前记录数时,当前记录数=(获取页数-1)*跨度+1。代码如下所示。
int showpage=1;
if(topage!=null){
if(showpage>pagecount){
showpage=Integer.parseInt(topage);
showpage=pagecount; showpage=1;
}
}else if(showpage<=0){
}
rs.absolute((showpage-1)*pagesize+1);
有了以上这几个关键变量,网页分页显示功能基本上已经实现了,下一步就是在当前记录数位置开始循环,当数据库没有记录的时候一定要终止循环程序。代码如下:
for(int i=1;i<=pagesize;i++){
??
if(!rs.next())
break;
}
2、添加留言
添加留言是用户与用户,以及用户与网站之间的一种交流模式,只有把用户想要表达的内容添加至数据库中,才能在浏览留言板中进行显示。
用户在留言板中单击“添加留言”超链接就可以打开添加留言页面,该页面主要用来提交用户输入的留言信息。用户在添加留言页中单击“提交”按钮,系
36
相关推荐: