求助商城订单问题? 在订单生成之后,如果一次购买的商品不只一件,怎么样存储在数据库中?单独再建一个表吗? 希望高手能解答一下!谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%@ page import="com.bjsxt.shopping.client.*, com.bjsxt.shopping.product.*" %><%Cart c = (Cart)session.getAttribute("cart");if(c == null) { c = new Cart(); session.setAttribute("cart", c);}%><%request.setCharacterEncoding("GBK");String action = request.getParameter("action");if(action != null && action.trim().equals("add")) { int id = Integer.parseInt(request.getParameter("id")); Product p = ProductMgr.getInstance().loadById(id); CartItem ci = new CartItem(); ci.setProduct(p); ci.setCount(1); c.add(ci);}if(action != null && action.trim().equals("delete")) { int id = Integer.parseInt(request.getParameter("id")); c.deleteItemById(id);}if(action != null && action.trim().equals("update")) { for(int i=0; i<c.getItems().size(); i++) { CartItem ci = c.getItems().get(i); int count = Integer.parseInt(request.getParameter("p" + ci.getProduct().getId())); ci.setCount(count); }} %> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><%List<CartItem> items = c.getItems();%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>购物车</title></head><body><form action="Buy.jsp" method="get"><input type="hidden" name="action" value="update"/><table align="center" border="1"> <tr> <td>产品ID</td> <td>产品名称</td> <td>购买数量</td> <td>单价</td> <td>总价</td> <td>处理</td> </tr> <% for(Iterator<CartItem> it = items.iterator(); it.hasNext(); ) { CartItem ci = it.next(); %> <tr> <td><%=ci.getProduct().getId() %></td> <td><%=ci.getProduct().getName() %></td> <td> <input type="text" size=3 name="<%="p" + ci.getProduct().getId() %>" value="<%=ci.getCount() %>"> </td> <td><%=ci.getProduct().getNormalPrice() %></td> <td><%=ci.getProduct().getNormalPrice()*ci.getCount() %></td> <td> <a href="Buy.jsp?action=delete&id=<%=ci.getProduct().getId() %>">删除</a> </td> </tr> <% } %> <tr> <td colspan=6> <a href="Confirm.jsp">下单</a> <a href="javascript:document.forms[0].submit()">修改</a> </td> </tr></table></form></body></html> 要记录这次订单的每一件商品的id号或者是name,以便顾客可以查询自己的订单记录以及购买的产品 建一个订单表,再建一个订单项表。订单表中至少要有:订单ID(主键),订单项ID(外键)。订单项表中至少要有:订单项ID(主键),产品ID(外键),数量。这样对同一类产品直接修改数量就可解决楼主的问题,并且还能实现不同商品不同数量的插入。 求BS架构下的即时通信技术 空间的服务器 哪位上班的老大给讲一下struts+hiberate+spring要学到什么程度才行啊 SSH框架时间问题 xml文件中可否有重复元素 java中怎么样验证输入的字符串是否为日期?还有是否为数字?谢谢! java中如何取到Oracle存储过程返回的数据集? 关于java的编译器!!请教~~~~~~ j2ee启动后包括了tomcat? 哪有ejb2.0学习下载 在写毕业设计开题报告,请教大家关于课题研究方法和技术路线等问题 大家来看看s:iterator 的问题
<%@ page import="com.bjsxt.shopping.client.*, com.bjsxt.shopping.product.*" %><%
Cart c = (Cart)session.getAttribute("cart");
if(c == null) {
c = new Cart();
session.setAttribute("cart", c);
}%>
<%
request.setCharacterEncoding("GBK");
String action = request.getParameter("action");
if(action != null && action.trim().equals("add")) {
int id = Integer.parseInt(request.getParameter("id"));
Product p = ProductMgr.getInstance().loadById(id);
CartItem ci = new CartItem();
ci.setProduct(p);
ci.setCount(1);
c.add(ci);
}if(action != null && action.trim().equals("delete")) {
int id = Integer.parseInt(request.getParameter("id"));
c.deleteItemById(id);
}if(action != null && action.trim().equals("update")) {
for(int i=0; i<c.getItems().size(); i++) {
CartItem ci = c.getItems().get(i);
int count = Integer.parseInt(request.getParameter("p" + ci.getProduct().getId()));
ci.setCount(count);
}
}
%> <%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><%
List<CartItem> items = c.getItems();
%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>购物车</title></head>
<body>
<form action="Buy.jsp" method="get">
<input type="hidden" name="action" value="update"/>
<table align="center" border="1">
<tr>
<td>产品ID</td>
<td>产品名称</td>
<td>购买数量</td>
<td>单价</td>
<td>总价</td>
<td>处理</td>
</tr>
<%
for(Iterator<CartItem> it = items.iterator(); it.hasNext(); ) {
CartItem ci = it.next();
%>
<tr>
<td><%=ci.getProduct().getId() %></td>
<td><%=ci.getProduct().getName() %></td>
<td>
<input type="text" size=3 name="<%="p" + ci.getProduct().getId() %>" value="<%=ci.getCount() %>">
</td>
<td><%=ci.getProduct().getNormalPrice() %></td>
<td><%=ci.getProduct().getNormalPrice()*ci.getCount() %></td>
<td>
<a href="Buy.jsp?action=delete&id=<%=ci.getProduct().getId() %>">删除</a>
</td>
</tr>
<%
}
%>
<tr>
<td colspan=6>
<a href="Confirm.jsp">下单</a>
<a href="javascript:document.forms[0].submit()">修改</a>
</td>
</tr>
</table>
</form>
</body>
</html>
订单表中至少要有:订单ID(主键),订单项ID(外键)。
订单项表中至少要有:订单项ID(主键),产品ID(外键),数量。
这样对同一类产品直接修改数量就可解决楼主的问题,并且还能实现
不同商品不同数量的插入。