白开心

  IT博客 :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  9 随笔 :: 76 文章 :: 28 评论 :: 0 Trackbacks

 

<%
Dim CartStr
'购物车相关函数
'
黄杰 2007年1月23号
'
购物车数据定义:  商品ID|数量#颜色*尺寸,商品ID|数量#颜色*尺寸,商品ID|数量#颜色*尺寸,商品ID|数量#颜色*尺寸

Sub CartAdd(ProductID,Num,ColorID,SizeID)
'添加某种商品
 CartStr = Trim(Request.Cookies("SpiderCart"))
 
if CartStr = "" Then
  Response.Cookies(
"SpiderCart"= ProductID & "|" & Num & "#" & ColorID & "*" &SizeID
  
Exit Sub
 
end if
 
 CartStr 
= CartStr & "," & ProductID & "|" & Num & "#" & ColorID & "*" &SizeID
 Response.Cookies(
"SpiderCart"= CartStr
End Sub

Sub CartEdit(ProductID,Num)
'编辑某种商品的数量
 CartStr = ","&Trim(Request.Cookies("SpiderCart"))
 
if(InStr(CartStr,","&ProductID&"|"= 0Then
  Alert(
"该商品刚刚卖完")
  CartDel(ProductID)
  
Exit Sub
 
end if
 
 Arr 
= Split(CartStr,","&ProductID&"|")
 CartStr 
= Arr(0&"," &ProductID& "|" & Num & "#" & Right(Arr(1),Len(Arr(1)) - InStr(Arr(1),"#"))
 CartStr 
= Right(CartStr,Len(CartStr)-1)
 
 Response.Cookies(
"SpiderCart"= CartStr
End Sub

Sub CartClear
 Response.Cookies(
"SpiderCart"= ""
End Sub

Sub CartDel(ProductID)
'删除某种商品
 CartStr = Trim(Request.Cookies("SpiderCart"))
 
if(CartStr = ""Then Exit Sub
 
'Alert(CartStr)
 
 
ifUBound(Split(CartStr,"|")) = 1 ) Then
  Response.Cookies(
"SpiderCart"= ""
  
Exit Sub
 
end if
 
 CartStr 
= "," & CartStr
 ArrCart 
= Split(CartStr,","&ProductID&"|")
 CartStr 
= ArrCart(0& Right(ArrCart(1),Len(ArrCart(1))-InStr(ArrCart(1),"*"))
 CartStr 
= Right(CartStr,Len(CartStr) - 1)
 Response.Cookies(
"SpiderCart"= CartStr
End Sub

Function GetColorBYProductID(ProductID)
'返回商品的颜色
 CartStr = ","&Trim(Request.Cookies("SpiderCart"))
 
 ArrCart 
= Split(CartStr,","&ProductID&"|")
 ArrCart(
1= Right(ArrCart(1),Len(ArrCart(1)) - InStr(ArrCart(1),"#"))
 GetColorBYProductID 
= Left(ArrCart(1),InStr(ArrCart(1),"*")-1)
End Function

Function GetNumBYProductID(ProductID)
'返回商品的数量
 CartStr = ","&Trim(Request.Cookies("SpiderCart"))
 
 ArrCart 
= Split(CartStr,","&ProductID&"|")
 GetNumBYProductID 
= Left(ArrCart(1),InStr(ArrCart(1),"#")-1)
End Function

Function GetSizeBYProductID(ProductID)
'返回商品的尺寸
 CartStr = ","&Trim(Request.Cookies("SpiderCart"))
 
 
'Response.Write(CartStr)
 'Response.End()
 
 ArrCart 
= Split(CartStr,","&ProductID&"|")
 ArrCart(
1= Right(ArrCart(1),Len(ArrCart(1)) - InStr(ArrCart(1),"*"))
 
if(InStr(ArrCart(1),","= 0Then
  GetSizeBYProductID 
= ArrCart(1)
 
else
  GetSizeBYProductID 
= Left(ArrCart(1),InStr(ArrCart(1),",")-1)
 
end if
End Function

Function GetIDStr
'返回购物车中商品由ID组成的字符串
 CartStr = Trim(Request.Cookies("SpiderCart"))

 
if(CartStr = ""Then GetIDStr = "":Exit Function

 
if(InStr(CartStr,","= 0 ) Then
  GetIDStr 
= Split(CartStr,"|")(0)
  
Exit Function
 
end if
 
 ArrCart 
= Split(CartStr,",")
 
 
For i = 0 to Ubound(ArrCart)
  
if ( i = 0 ) then
   GetIDStr 
= Split(ArrCart(i),"|")(0)
  
else
   GetIDStr 
= GetIDStr & "," & Split(ArrCart(i),"|")(0)
  
end if
 
Next
End Function

Function isExistsInCart(ProductID)
'判断某个商品是否已经存在购物车中
 CartStr = Trim(Request.Cookies("SpiderCart"))
 
 
if CartStr="" Then
  isExistsInCart 
= False
  
Exit Function
 
end if
 
 CartStr 
= "," & CartStr
 
 
if Instr(CartStr,","& ProductID & "|"> 0 Then
  isExistsInCart 
= True
 
Else
  isExistsInCart 
= False
 
End if
End Function

Function GetCartCount
'计算购物车中商品数量
 CartStr = Trim(Request.Cookies("SpiderCart"))
 
if CartStr = "" Then
  GetCartCount 
= 0 
  
Exit Function
 
end if
 
 GetCartCount 
= Ubound(Split(CartStr,"|"))
End Function

Function GetMoney
'计算购物车中商品总价格
 CartStr = Trim(Request.Cookies("SpiderCart"))
 
if(CartStr = ""Then GetMoney = 0:Exit Function
 
 
Dim m,TotalPrice
 
Set m = Server.CreateObject("Adodb.RecordSet")

 
if(InStr(CartStr,","= 0 ) Then
  arr 
= Split(CartStr,"|")
  Sql 
= "Select NewPrice*"&Left(arr(1),InStr(arr(1),"#")-1)&" as TotalPrice from SP_Detail where id="&arr(0)
  m.Open Sql,Conn,
1,3
  
if(m.RecordCount > 0Then 
   GetMoney 
=  m("TotalPrice")
   
Exit Function
  
else '该商品在购买后已经被删除
   CartDel(arr(0)) '清空商品
   GetMoney = 0
   m.Close
   
Set m = Nothing
   
Exit Function
  
end if
  m.Close
 
end if
 
 ArrCart 
= Split(CartStr,",")
 TotalPrice 
= 0
 
 
'Response.Write(CartStr)
 'Response.End()
 
 
For i = 0 to Ubound(ArrCart)
 arr 
= Split(ArrCart(i),"|")
  Sql 
= "Select NewPrice*"&Left(arr(1),InStr(arr(1),"#")-1)&" as TotalPrice from SP_Detail where id="&arr(0)
  m.Open Sql,Conn,
1,3
  
if(m.RecordCount > 0Then 
   TotalPrice 
= TotalPrice +  m("TotalPrice"'m.fields(0).value
  else '该商品在购买后已经被删除
   CartDel(arr(0)) '清空商品
  end if
  m.Close
 
Next
 
 
Set m = Nothing
 GetMoney 
= TotalPrice
End Function
%
>


另外一个文件

<%
Dim Conn

Sub ConnOpen(ConnStr)
'数据连接
'
参数 ConnStr  数据库物理路径
 Set Conn = server.CreateObject("Adodb.Connection")
 Conn.Open 
"Driver={MicroSoft Access Driver (*.mdb)};" & "dbq="&ConnStr
 response.Buffer
 response.Expires
=-9999
 session.Timeout 
= 60
End Sub

Sub ConnClose
 Conn.Close()
 
Set Conn = Nothing
End Sub

Function ExecuteScalar(Sql)
'执行Sql语句,返回单个值结果
 Dim Result
 rs.Open Sql,Conn,
1,3
 
if(rs.RecordCount > 0Then
  Result 
= rs.fields(0).value
 
Else
  Result 
= 0
 
End if
 rs.Close
 
 ExecuteScalar 
= Result
End Function

Sub Alert(Str)
 Response.Write(
"<script language=""javascript"">alert('"& Str &"');</script>")
End Sub

Sub AlertAndRedirect(Str,PageInfo)
 Response.Write(
"<script language=""javascript"">alert('"& Str &"');window.location = ('"&PageInfo&"');</script>")
End Sub

Sub AlertAndClose(Str)
 Response.Write(
"<script language=""javascript"">alert('"& Str &"');window.close();</script>")
 Response.End()
End Sub

Sub AlertAndBack(Str,Num)
 Response.Write(
"<script language=""javascript"">alert('"& Str &"');window.go("&Num&");</script>")
End Sub

Function ReplaceStr(str)
 ReplaceStr 
= Replace(str,"'","['']")
 ReplaceStr 
= Replace(str,"-","[_]")
End Function

Function ReStoreStr(str)
 ReStoreStr 
= Replace(str,"['']","'")
 ReStoreStr 
= Replace(str,"[_]","-")
End Function

Sub DelFile(Path)
'删除指定路径文件
Dim Fs
Set Fs = Server.CreateObject("Scripting.FileSystemObject")
 
If(Fs.FileExists(Path)) Then Fs.DeleteFile(Path)
Set Fs = Nothing
End Sub

Function GetIP
'得到 IP 地址
 if(Request.ServerVariables("REMOTE_ADDR"= ""Then
  GetIP 
= Request.ServerVariables("HTTP_X_FORWARDED_FOR")
 
else
  GetIP 
= Request.ServerVariables("REMOTE_ADDR")
 
end if
End Function

Function ExecuteScalar(Sql)
'执行Sql语句,返回单个值结果
 Dim Result
 rs.Open Sql,Conn,
1,3
 
if(rs.RecordCount > 0Then
  Result 
= rs.fields(0).value
 
Else
  Result 
= 0
 
End if
 rs.Close
 
 ExecuteScalar 
= Result
End Function

Function GetOrderNo
'生成一个订单号  YYMMDDHHMMSS
 Randomize
 ranNum
=int(90*rnd)+10
 GetOrderNo
=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
End Function
%
>
posted on 2007-01-27 22:49 白开心 阅读(1825) 评论(0)  编辑 收藏 引用 所属分类: Asp+vbScript
只有注册用户登录后才能发表评论。