购物车
作者:斐智 来源:未知 添加时间:2006-5-21 10:32:10前阵子自己写的一支购物车的程序..
在这里好象没有人提供这样的程序...
我提供一些开发的重点给大家参考看看..
..........................................
基本上购物车是用session来作的.
我的做法是用两个session变量分别来存放商品的编号与数量
当点选[我要购买]的选择时.会传送商品编号...
分别编号与数量加入(串接)在这两个变量...
ps.数量预设为1
recno=request("recno")
if recno<>"" then
if session("product") = "" then
session("product")=session("product") & recno
session("quantity")=session("quantity") & "1"
else
session("product")=session("product") & "," & recno
session("quantity")=session("quantity") & "," & "1"
end if
end if
此程序会先判断recno(编号)是否空白..
若是第一次点选购物..
session("product") and session("quantity")
便会分别加入 recno的值与1
第2次点选购物..
则会多加 "," 来分隔...
如此....这两个变量便会存放订购的数据了...
至于取出的方法如下:
product=session("product")
productlist=split(product,",")
quantity=session("quantity")
quantitylist=split(quantity,",")
max=ubound(productlist)
如此productlist and quantitylist 便会为数组型态..
分别存放商品编号与数量,max 则存放该数组中的个数
所以当要写入数据库时:
k=0
while k<max
rs.addnew
rs("product")=productlist(k)
rs("quantity")=quantitylist(k)
rs.update
k=k+1
wend
这样便可将订单分别存入数据库中....
修改购物车的内容则是:
原则上是将它还原显示出在网页上..
一样先分隔开...
product=session("product")
productlist=split(product,",")
quantity=session("quantity")
quantitylist=split(quantity,",")
max=ubound(productlist)
然后显示....
<form action=refresh.asp method=post>"
<%i=0
while i<max%>
<input name="Confirm<%=i%>" type="checkbox" checked></td>
<input name="Quantity<%=i%>" size="2" value="<%=quantity%>" > </td>
<%i=i+1
wend%>
</form>
有[确认](confirm)与数量(quantity)两个字段可变更(不清楚的请参考拍卖王吧...)
当按下更改时
<refresh.asp>
product=session("product")
productlist=split(product,",")
quantity=session("quantity")
quantitylist=split(quantity,",")
max=ubound(productlist)
session("product")=""
session("quantity")=""
i=0
while i <= max
Confirm=Request( "Confirm" & i)
quantity=request("quantity" & i)
if confirm="on" then
if session("product") = "" then
session("product")=session("product") & productlist(i)
session("quantity")=session("quantity") & quantity
else
session("product")=session("product") & "," & productlist(i)
session("quantity")=session("quantity") & "," & quantity
end if
end if
i=i+1
wend
基本上就是将两个session的变量重新整理..
只是confirm<>on(点选),便不会加入session变量中
站内搜索