网站制作学习网ASP→正文:asp购物车
字体:

asp购物车

ASP 2010/3/18 14:06:00  点击:不统计

http://%77%77%77%2E%66网站制作%6F学习网%72%61%73%70%2E%63%6E

asp购物车,通过cookies来记录购物车里面的内容,调用sub过程来操作购物车.本站原创转载请注明www.forasp.cn<%@LANGUAGE = VBScript%>  
<%Option Explicit%>
<%
Dim Goods_list,i,Goods_list_temp,Goods_list_array,Goods_list_array_array,flag
'cookies保存的名称Car_list.保存格式为$货物id-货物个数$货物id-货物个数...Goods_list_array为第一$分割数组,Goods_list_array_array为第二-分割数组,Goods_list_temp为最后临时字符串flag为是否有该货物标记
'首先设置cookies存在日期,过期日期为1天
Response.Cookies("Car_list").Expires = (now()+1)
'asp购物车,功能,添加,更新,删除,删除全部
'asp购物车通过cookies来保存购物车,计算内容.
sub Car_add(Goods_id,Goods_num)'购物车,添加内容Goods_id为货物id,Goods_num为货物数量
Goods_list_temp = request.cookies("Car_list")
If Goods_num = "" or not Isnumeric(Goods_num) Then Exit sub
If Goods_num <= 0 Then Goods_num = 1
'首先判断是否有该货物并判断当前需求数量与库存数量.在此调用数据库省略,根据个人修改
'假如货物有继续,否则,exit funciton,遍历当前内容是否已经存在了该货物
If Goods_list_temp = "" then'如果是第一个货物
Goods_list_temp = Goods_list_temp&"$"&Goods_id&"-"&Goods_num
else
Goods_list_array = Split(Goods_list_temp,"$")'分割判断是否存在了
Goods_list_temp =""
flag = false
If UBound(Goods_list_array)<1 Then Exit sub'分割后0为空因为字符串从$开始的
For i = 1 To Ubound(Goods_list_array)
Goods_list_array_array = Split(Goods_list_array(i),"-")'中杠分割货物id和货物数量
If CInt(Goods_list_array_array(0)) = CInt(Goods_id) Then
Goods_list_array_array(1) = Goods_list_array_array(1)+Goods_num
flag = true
End if
Goods_list_temp = Goods_list_temp&"$"&Goods_list_array_array(0)&"-"&Goods_list_array_array(1)
Next
If (not flag) Then Goods_list_temp = Goods_list_temp&"$"&Goods_id&"-"&Goods_num
End If
response.Cookies("Car_list") = Goods_list_temp
End sub
sub Car_change(Goods_id,Goods_num)'更新购物车Goods_id货物id,Goods_num更新后货物数量
Goods_list_temp = request.cookies("Car_list")
If Goods_num = "" or not Isnumeric(Goods_num) Then Exit sub
If Goods_num <= 0 Then Goods_num = 1
'再次判断是否有该货物并判断当前需求数量与库存数量.在此调用数据库省略,根据个人修改
'假如货物有继续,否则,exit funciton,遍历当前内容是否已经存在了该货物
If Goods_list_temp = "" then'如果是第一个货物
Goods_list_temp = Goods_list_temp&"$"&Goods_id&"-"&Goods_num
else
Goods_list_array = Split(Goods_list_temp,"$")'分割判断是否存在了
Goods_list_temp =""
If UBound(Goods_list_array)<1 Then Exit sub'分割后0为空因为字符串从$开始的
For i = 1 To Ubound(Goods_list_array)
Goods_list_array_array = Split(Goods_list_array(i),"-")'中杠分割货物id和货物数量
If CInt(Goods_list_array_array(0)) = CInt(Goods_id) Then
Goods_list_array_array(1) = Goods_num
End if
Goods_list_temp = Goods_list_temp&"$"&Goods_list_array_array(0)&"-"&Goods_list_array_array(1)
Next
response.Cookies("Car_list") = Goods_list_temp
End if
End sub

sub Car_del(Goods_id)'删除某个物品
Goods_list_temp = request.cookies("Car_list")
If Goods_list_temp = "" then'如果是空则跳出购物车
Exit sub
else
Goods_list_array = Split(Goods_list_temp,"$")'分割判断是否存在了
Goods_list_temp =""
If UBound(Goods_list_array)<1 Then Exit sub'分割后0为空因为字符串从$开始的
For i = 1 To Ubound(Goods_list_array)
Goods_list_array_array = Split(Goods_list_array(i),"-")'中杠分割货物id和货物数量
If CInt(Goods_list_array_array(0)) <> CInt(Goods_id) Then''如果是删除的则相等,不再计入cookies
Goods_list_temp = Goods_list_temp&"$"&Goods_list_array_array(0)&"-"&Goods_list_array_array(1)
End if
Next
response.Cookies("Car_list") = Goods_list_temp
End if
End sub
sub Car_clear()'清除所所有内容
response.Cookies("Car_list") = ""
End sub
sub Car_list()'列出所有购物车内容
Goods_list = request.cookies("Car_list")
If Goods_list = "" then'如果是第一个货物
response.write "购物车为空"
Exit sub
else
Goods_list_array = Split(Goods_list,"$")'分割判断是否存在了
If UBound(Goods_list_array)<1 Then Exit sub'分割后0为空因为字符串从$开始的
For i = 1 To Ubound(Goods_list_array)
Goods_list_array_array = Split(Goods_list_array(i),"-")
response.write "货物id:"&Goods_list_array_array(0)&"数量"&Goods_list_array_array(1)&"<br>"
Next
End if
End sub
Call Car_add(1,1)'添加购物车货物id1,数量1
Call Car_add(2,2)'添加购物车货物id2,数量2
Call Car_add(3,3)'添加购物车货物id3,数量3
Call Car_list()'列出购物车内容
Call Car_change(1,8)''修改购物车货物id1,数量到8
Call Car_list()'列出购物车内容
Call Car_del(2)'删除第二个
Call Car_clear()'清除购物车内容
%>


·上一篇:asp获取对象绝对位置 >>    ·下一篇:asp自动创建文件夹 >>
推荐文章
最新文章