📄 cart.asp
字号:
<!-- 查看购物车的网页 -->
<!-- #include virtual="protect.inc" -->
<!-- #include file="opendb.inc" -->
<%
If Session("Product")="" Then
Response.Write "<p><center><b>您的购物车现在是空的。</b></center></p>"
Response.End
End If
Select Case Request.Form("Submits") '对不同按钮的相应处理
Case " 结帐 "
Recalculate
Confirm
Session("Product")=""
Session("Num")=""
Response.Write "<p><center><b>您的订单已经放入数据库。</b></center></p>"
Response.End
Case "取消定购"
Session("Product")=""
Session("Num")=""
Response.Redirect "product.asp"
Response.End
Case "重新计算"
Recalculate
If Session("Num")="" Then
Response.Write "<p><center><b>您的购物车现在是空的。</b></center></p>"
Response.End
End If
Case Else
End Select
%>
<%
Sub Recalculate '重新计算定货量的子程序
arrayProductID=Split(Session("Product"),",")
arrayProductNum=Split(Session("Num"),",")
For i=0 To Ubound(arrayProductID)-1
If Request.Form("IsBuy"&i)="BUY" Then
arrayProductNum(i)=Request.Form("Num"&i)
Else
arrayProductNum(i)=0
End If
Next
Session("Product")=""
Session("Num")=""
For j=0 To Ubound(arrayProductID)-1
If arrayProductNum(j)<>0 Then
Session("Product")=Session("Product") & arrayProductID(j) & ","
Session("Num")=Session("Num") & arrayProductNum(j) & ","
End If
Next
End Sub
Sub Confirm '结帐子程序
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open(sqlOpenDB) '打开数据库
OrderTime=Now '记录结帐时间
Sql1="Insert Into OrderFromCustomer(OrderDate,CustomerName) Values('" & OrderTime & "','"& Session("User") & "')"
Conn.Execute(Sql1) '生成客户订单记录
Sql2="Select OrderID From OrderFromCustomer Where OrderDate='" & Ordertime & "'and CustomerName='" & Session("User") & "'"
Set Rs=Conn.Execute(Sql2) '得到新订单的ID
OrderID=Rs("OrderID")
arrayProductID=Split(Session("Product"),",") '取出已订货物的ID
arrayProductNum=Split(Session("Num"),",") '取出已订货物的对应数量
For i=0 To Ubound(arrayProductID)-1
Sql3="Insert Into OrderLine(OrderID,ProductID,UnitsOrdered) Values('" & OrderID & "','" & arrayProductID(i) & "','" & arrayProductNum(i) & "')"
Conn.Execute(Sql3) '添加订单信息,建立表OrderLine的多条记录
Sql4="Select UnitsOnOrder From Product Where ProductID='" & arrayProductID(i) &"'"
Set Rs=Conn.Execute(Sql4)
UnitsOrdered=Rs("UnitsOnOrder")
UnitsOrdered=UnitsOrdered+arrayProductNum(i)
Sql5="Update Product Set UnitsOnOrder='" & UnitsOrdered & "' Where ProductID='" & arrayProductID(i) & "'"
Conn.Execute(Sql5) '减去订货量
Next '此循环过程生成OrderLine表中的记录,记录订货信息
Conn.Close
Set Conn=Nothing
End Sub
%>
<html>
<head>
<title>购物车</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<%
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open(sqlOpenDB) '打开数据库
Proarray=Split(Session("Product"),",")
Numarray=Split(Session("Num"),",")
%>
<div align="center">
<h2><b><font face="华文彩云">购物车</font></b></h2>
<form name="form" method="post" action="cart.asp">
<table width="500" border="2" cellspacing="0" bordercolor="#666666">
<tr bgcolor="#CCCCCC">
<td nowrap width="40">
<div align="center"><b>购买</b></div>
</td>
<td nowrap width="80">
<div align="center"><b>货物号码</b></div>
</td>
<td nowrap>
<div align="center"><b>货物名称</b></div>
</td>
<td nowrap width="40">
<div align="center"><b>单价</b></div>
</td>
<td nowrap width="40">
<div align="center"><b>现有</b></div>
</td>
<td nowrap width="40">
<div align="center"><b>数量</b></div>
</td>
<td nowrap width="40">
<div align="center"><b>共计</b></div>
</td>
</tr>
<%For i=0 To Ubound(Proarray)-1
Sql="Select ProductID,Name,UnitPrice,UnitsInStock,UnitsOnOrder From Product Where ProductID='" & Proarray(i) & "'"
Set Rs=Conn.Execute(Sql)
%>
<tr>
<td width="40" height="22" nowrap>
<div align="center">
<input type="checkbox" name="IsBuy<%=i%>" value="BUY" checked>
</div>
</td>
<td width="40" height="22" nowrap>
<div align="center"><%=Rs("ProductID")%></div>
</td>
<td height="22" nowrap>
<div align="center"><%=Rs("Name")%></div>
</td>
<td width="40" height="22" nowrap>
<div align="center"><%=Formatcurrency(Rs("UnitPrice"))%></div>
</td>
<td width="40" height="22" nowrap>
<div align="center"><%=rs("UnitsInStoCk")-Rs("UnitsOnOrder")%></div>
</td>
<td width="40" height="22" nowrap>
<div align="center">
<input type="text" name="Num<%=i%>" size="6" value=<%=numArray(i)%>>
</div>
</td>
<td width="40" height="22" nowrap>
<div align="center"><%=FormatCurrency(rs("UnitPrice")*numArray(i))%></div>
</td>
</tr>
<%
total=total+rs("UnitPrice")*numArray(i)
next
%>
</table>
<p> <font face="楷体_GB2312"><b>共计金额:<%=FormatCurrency(total)%></p>
<p>
</b></font>
<input type="submit" name="Submits" value=" 结帐 ">
<input type="submit" name="Submits" value="取消定购">
<input type="submit" name="Submits" value="重新计算">
</p>
</form>
</div>
<%
Rs.Close
Set Rs=Nothing
Conn.Close
Set Conn=Nothing
%>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -