购物车

原创 2004年07月03日 12:42:00

castclass.asp

<%
Class ShopBag

 '放商品的空间
 Private ProSpace

 '商品信息个数
 Private ItemsCout


'=============================================================
'                     共有的
'=============================================================

 '方法名:PutAPro
 '参数:一个存有商品信息的数组--ProData
 '作用:将一个商品放入购物车
 '返回值:
 '成功放入商品,返回true
 '商品存在,返回false    
 Public Function PutAPro(ByRef ProData)
 'size:'最后一个
 dim size,result,flag
 ItemsCout = ubound(ProData)  '商品信息个数
 GetPro

 if CreateSpace then
 '有商品需要检测商品是否存在
 MyPrint "有商品需要检测商品是否存在"
  flag = CheckProExists(ProData(0)) 
 else
  flag = false '购物车没有商品
  MyPrint "购物车没有商品"
 end if

 if not flag then

   size = Ubound(ProSpace)

   for i = 0 to ItemsCout
    ProSpace(size,i) = ProData(i)
   next
   MyPrint "放入一个商品....<br>"
   SavePro
   result = true
 else
 result = false
 end if

 PutAPro = result  
 End Function
 '----------------------------------------------
 

 '得到所有商品
 Public Function GetAllPro(ByRef ProList)
  ProList  = Session("ProID")
 End Function
 '----------------------------------------------

 '更新产品个数
 Public Function UpdatePro(ByRef ProNumList)

 dim ProNumData
 GetPro
  ProNumData = split(ProNumList,",")

  for i =0 to Ubound(ProNumData)
   ProSpace(i,3) = Cint(trim(ProNumData(i)))
  next  
 SavePro
 MyPrint "更新了所有商品个数"
 End Function


 '删除一个商品
 Public Function DeleteAPro(id)
 MyPrint "准备删除一个商品"
 dim count
 GetPro
 count = UBound(ProSpace)
 
 if count=0 then
 MyPrint "商品已经是最后一个了, 将session设为null"
  Session("ProID") = null
 else
  redim tempAr(count-1,3)
   MyPrint "开始查找要删除的商品id..."
   for i = 0 to count
    if Cint(ProSpace(i,0)) = Cint(id) then
     MyPrint "找到ID,删除!"
      for j=i to count-1
       ProSpace(j,0) = ProSpace(j+1,0)
       ProSpace(j,1) = ProSpace(j+1,1)
       ProSpace(j,2) = ProSpace(j+1,2)
       ProSpace(j,3) = ProSpace(j+1,3)
      next

     exit for
    end if
   next

   for i = 0 to count-1
    tempAr(i,0) = ProSpace(i,0)
    tempAr(i,1) = ProSpace(i,1)
    tempAr(i,2) = ProSpace(i,2)
    tempAr(i,3) = ProSpace(i,3)
   next 
   Session("ProID") = tempAr
  end if
  
 End Function
 '---------------------------------------------
 
 '得到商品的某项信息列表 , 号隔开
 Public Function GetProList(n)
 dim result
  GetPro
  if isnull(ProSpace) then
   result = null
  else
   for i =0 to ubound(ProSpace)
    if i = 0 then
     result = ProSpace(i,n)
    else
     result =result&","&ProSpace(i,n)
    end if
  next
  end if 
  KillMe
 GetProList = result
 End Function

'==================================================================

 

'=================================================================
'                       私有的
'=================================================================
 '检测商品是否已经存在
 '存 在 返回  true
 '不存在返回 false
 Private Function CheckProExists(ProID)
 MyPrint "检测商品是否存在?<br>"
 dim result
  result = false

  for i = 0 to  Ubound(ProSpace)
   if Cint(ProSpace(i,0)) = Cint(ProID) then
    result = true
   End if
  next
 CheckProExists = result
 End Function
 '------------------------------------------------

 '作用:
 '开辟存放物品的空间
 '返回值:
 '新开大小返回 false
 '重构空间大小返回 true
 Private Function CreateSpace()
 dim result
 MyPrint "开始开辟空间...<br>"
  'ReSize: 空间大小
  dim ReSize

  '计算需要空间大小
  if isarray(ProSpace) then '已经有商品了
   MyPrint "已有空间,需要重构空间大小!<br>"
   ReSize = UBound(ProSpace)+1
   MyRedim ProSpace,ReSize
   result  = true
   MyPrint "重构了空间大小=+1...<br>"
  else   
   redim ProSpace(0,ItemsCout)
   result  = false
   MyPrint "没有空间,开辟!...<br>"
  End if  
 CreateSpace = result
 End Function
 '----------------------------------------------
 
 '重新构造一个数组
 private Function MyRedim(byRef aArray,ByVal Size)
  MyPrint "开始重构空间大小...<br>"
   redim TmpArray(Size,ItemsCout)
   
   '备份信息
   for i = 0 to Ubound(aArray)
    for j =0 to ItemsCout
     TmpArray(i,j) = aArray(i,j)
    next
   next
   
   redim aArray(Size,ItemsCout)

   '还原信息
   for j = 0 to ubound(TmpArray)
    for k =0 to ItemsCout
    aArray(j,k) = TmpArray(j,k)
    next
   next

 End Function
 '-----------------------------------------------


 '保存商品
 Private Function SavePro
  Session("ProID") = ProSpace
  MyPrint "保存购物车....<br>" 
  KillMe
  MyPrint "释放了空间..<br>"
 End Function
 '----------------------------------------------
 
 '从Session中取出商品
 Private Function GetPro
  ProSpace = Session("ProID")
  MyPrint "将Session中的商品放入了购物车....<br>"
 End Function
 '----------------------------------------------
 

 '释放空间
 private Function KillMe
  ProSpace = null
 End Function
 '----------------------------------------------
End Class
%>

使用:

 

<!--#include file="CastClass.asp"-->
<%

'显示操作过程
Function MyPrint(str)
 Response.write str
End Function

dim aShowBag,ProData,ProList


ProData = Array(1,"ProName","ProPrice","ProNum")


set aShowBag = new ShopBag

 state = aShowBag.PutAPro(ProData) '放入一个商品
 ProData= null
 aShowBag.GetAllPro ProList

 if state then
  Response.Write "放入一个商品<br>"
 else
  Response.Write "商品已经存在<br>"
 end if
Set ShowBag = nothing

if isarray(ProList) then
 for i = 0 to ubound(ProList)
  for j =0 to 3
   Response.Write ProList(i,j)&"=="
  next
  Response.Write "<br>============<br>"
 next
else
Response.write "没有商品"
End If

%>

javaWeb的session实现购物车

javaWeb的session实现购物车案例- 1、先建立商品列表的jsp页面:
  • ailo555
  • ailo555
  • 2016年03月01日 22:46
  • 8051

购物车demo教程

购物车demo教程 源码是这个路径,本人学习用,谢谢大神,涉及版权,我去掉! demo:http://xiaoluoboding.github.io/vue-demo-collection/s...
  • sinat_17775997
  • sinat_17775997
  • 2017年02月09日 09:42
  • 1877

基本实现京东购物车 mysql+php+html

想要实现基本的购物车功能,要对数据库 后台及前端知识有一定的了解
  • love_fish_dream
  • love_fish_dream
  • 2017年04月10日 23:36
  • 655

asp+ajax版的购物车

购物车- 我的购物车 选项   商品信息 单价(元) 数量 金额 操作 ...
  • quweiie
  • quweiie
  • 2016年02月02日 16:14
  • 1429

angularJs入门之购物车实现

这几天在学习angularJs,勉强可以实现一个购物车。 我使用bootstrap框架以至于页面不那么丑 先放图,再说具体过程 购物车 ...
  • zr15829039341
  • zr15829039341
  • 2016年11月23日 19:43
  • 3682

JavaWeb_Session实现简易购物车

效果图如下: 实现方法如下: 具体代码如下: step-1.jsp
  • chance2015
  • chance2015
  • 2016年02月12日 23:26
  • 4827

javascript购物车实现详细代码讲解

我们肯定都很熟悉商品购物车这一功能,每当我们在某宝某东上购买商品的时候,看中了哪件商品,就会加入购物车中,最后结算。购物车这一功能,方便消费者对商品进行管理,可以添加商品,删除商品,选中购物车中的某一...
  • zhongguohaoshaonian
  • zhongguohaoshaonian
  • 2016年09月27日 21:13
  • 38543

ionic静态购物车实现

前几篇对ionic进行了初步的了解,接下来我们要在实战中进行操作,对所学知识进行拼凑,达到真正的灵活运用。接下来我们做一个小demo,一个静态的购物车。 例图效果: 源码: index.html...
  • xy8199
  • xy8199
  • 2017年10月19日 19:29
  • 400

jsp+mysql实例简单的购物车

该小项目数据库用MySq对数据的管理,有两个表,一个表是cart另一个是show。小练习拿出来分享希望对大家有用 1、数据库表 cart表 show表   页面源码展示 index...
  • myserverthepeople
  • myserverthepeople
  • 2012年09月15日 10:28
  • 28337

两种方式实现购物车动画

公司项目有添加商品到购物车的需求,需要一个添加商品的动画效果。参照了一些当下主流APP的效果,最后实现了以下效果:点击Item,显示点击第几项;点击购买,添加商品到购物车,同时购物车商品总数加一。实现...
  • tyk0910
  • tyk0910
  • 2016年04月21日 09:56
  • 10348
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:购物车
举报原因:
原因补充:

(最多只允许输入30个字)