首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

用ASP设计购物推车

来源: 互联网    日期:2007-1-13 15:09:22
 

    你一定去过超级市场吧。在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账。 [转自:711网络工作室 http://www.tc711.com]

    那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车"。电子推车是超级市场推车的电子化。在网上商店里,这种电子推车又称为"购物推车",英文是Shopping Cart。
    购物推车的设计目标 [转自:711网络工作室 http://www.tc711.com]

    从程序员的观点来看,购物推车是维护购物者商品选购、允许察看、允许修改的一个对象。购物推车本身是一个非常简单的程序,但开发者要考虑它将连接到商品目录子系统、订单子系统、客户账号子系统、站点管理子系统等等,形成功能完整的网上商店。

    下面是购物推车的设计目标:

    1、 持续性:购物推车应该从它的前一次会话中记住其内容。
    2、 购物推车和客户相关,而不是和客户的电脑相关。客户可以从另外的电脑或浏览器来访问购物推车。
    3、 当新的商品被加入推车或者从推车去掉时,推车的内容可以被显示给用户。
    4、 推车可以容纳很多甚至无限的商品。
    系统设计/流程设计

    在编写我们的购物推车之前,我们看看它的系统架构和流程。请看下图:

    如果客户从商品目录中选择了一件商品,这时我们传递客户的请求到proxy.asp,同时传递的是动作变量"增加商品"。Proxy.asp读取这个变量,并决定执行购物推车的哪个动作。这些动作包括:增加商品、更新商品数量、移除商品或者察看购物推车。

    有些动作被作为内部调用。如创建推车之前,我们需要检查推车是否已经存在(CheckCart)。在增加、删除或者更新商品及其数量时,我们要确认此商品是否已经存在于我们的购物推车之中(CheckItem)。下面我们将为购物推车设计8个方法,分别是:

    ViewItem 察看推车
    CheckCart 检查推车
    CreateCart 创建推车
    AddItem(ID, Qty), 增加商品
    RemoveItem(ID) 删除商品
    UpdateItem(ID, Qty), 更新数量
    RemoveAll 全部清空
    CheckItem(ID) 商品检查

    购物推车的设计

    购物推车需要三个要素:一个VBScript 5的类class CartKit,一个多维数组mudCart,一个session变量Session("Cart")。

    这个VBScript 类,我们称为CartKit,包含了8个方法,如上表所示。在本文我们只用了ID和Qty,分别表示商品编号和数量。

    这样我们就可以用一个二维数组来表达这个推车,象下面这样? br> 商品编号 商品数量

    ID-1 23
    ID-3 10
    ID-23 6
    ID-2 1

    然后我们把这个二维数组保存到session变量中就可以了。

    购物推车类CartKit的设计

    请下载:CartKit.asp

    CreateCart设计:

    请看程序代码:

    Class CartKit REM 开始类CartKit的定义
    Sub CreateCart()
     IF IsArray(Session("Cart")) = false THEN
      Dim mudCart(19,1)
      Session("Cart") = mudCart
     END IF
    End Sub
    其中:Session("Cart")保存的就是推车的内容。如果推车不存在,我们就定义一个二维数组mudCart来表达推车,并将它保存到session("Cart")中。

    CheckCart设计:

    本函数判断Cart是否已经创建。比较简单。
    Function CheckCart()
    IF IsArray(Session("Cart")) THEN
      CheckCart=True
     ELSE
      CheckCart=False
     END IF
    End Function

    CheckItem设计:

    请看代码:
    Function CheckItem(ID)
    IF CheckCart=True THEN
      varMudCart = Session("Cart")
      FOR i = LBound(varMudCart)TO UBound(varMudCart)
     IF varMudCart(i,0) = ID THEN
      CheckItem=TRUE
     Exit Function
     ELSEIF varMudCart(i,0) $#@60;$#@62; ID THEN
      CheckItem=FALSE
     END IF
      NEXT
     END IF
    End Function

    首先判断推车是否存在。然后将商品的编号ID和购物推车中的商品编号逐一比较。如果有相等的,返回真。否则为假。

    

[1] [2]  

    AddItem(ID,Qty)设计:

    请参考本文的附件CartKit.asp,这里介绍的函数我们把它们封装到一个名为CartKit的class中。下面的代码段首先创建了一个CartKit对象,然后检查推车是否已经存在。如果不存在,就创建推车并新增商品;否则,检查商品编号是否已经存在于Cart中。如果是,就更新数量;否则,新增商品。

    Function AddItem(ID, Qty)
    Set CartObj = New CartKit
    varCartStatus = CartObj.CheckCart
     IF varCartStatus=false THEN
      CartObj.CreateCart
      mudCart=Session("Cart")
      mudCart(0,0)=ID
      mudCart(0,1)=Qty
      Session("Cart")=mudCart
       Exit Function
     ELSEIF varCartStatus=true THEN
     IF CartObj.CheckItem(ID) = true THEN
      CartObj.UpdateItem ID,Qty
     ELSEIF cartObj.CheckItem(ID) = false THEN
      mudCart = Session("Cart")
     FOR i = LBound(mudCart) TO UBound(mudCart)
     IF mudCart(i,0) = "" THEN
      mudCart(i,0) = ID
      mudCart(i,1) = Qty
      Session("Cart") = mudCart
     Exit Function
     END IF
     NEXT
     END IF
     END IF
    End Function
    UpdateItem设计:
    Function UpdateItem(ID, Qty)
    mudCart = Session("Cart")

     FOR i = LBound(mudCart) TO UBound(mudCart)
      IF mudCart(i,0) = ID THEN
       mudCart(i,1) = Qty
       Session("cart")=mudCart
       Exit Function
      END IF
     NEXT
    End Function
    ViewItem设计:
    Function ViewItem()
    mudCart=Session("Cart")
    IF isArray(mudCart) THEN
    %$#@62;
    $#@60;table$#@62;
    $#@60;tr$#@62;
    $#@60;td$#@62;Item Name$#@60;/td$#@62;
    $#@60;td$#@62;Item Quantity$#@60;/td$#@62;
    $#@60;td$#@62;$#@60;/td$#@62;
    $#@60;/tr$#@62;
    $#@60;%
    FOR i = LBound(mudCart) TO UBound(mudCart)
    IF mudCart(i,0) $#@60;$#@62; "" THEN
    %$#@62;
    $#@60;tr$#@62;
    $#@60;td$#@62;$#@60;%=%$#@62;$#@60;/td$#@62;
    $#@60;%
    Response.Write "Item ID: " & mudCart(i,0) & "$#@60;--"
    Response.Write "$#@60;BR$#@62;"
    Response.Write "Item Qty: " & mudCart(i,1) & "$#@60;--"
    Response.Write "$#@60;BR$#@62;"
    END IF
    NEXT
    ELSEIF isArray(mudCart) = False THEN
    Response.Write "No item in your cart!"
    Response.Write "$#@60;BR$#@62;"
    Response.Write "Y don’t you do shop!"
    END IF
    End Function
    RemoveItem(ID)设计:
    Function RemoveItem(ID)
    mudCart=Session("Cart")
    ’Find the Postion / Index of given ID.
    For i = LBound(mudCart) TO Ubound(mudCart)
     IF mudCart(i,0) = ID THEN
      Pos=i
     Exit For
    END IF
    Next
    ’Delete Process...
     FOR i = Pos TO UBound(mudCart) - 1
      IF Not mudCart(i,0) = "" THEN
      mudCart(i,0) = mudCart(i+1,0)
     END IF
     Next
     End Function
    End Class REM 结束类CartKit的定义

    
     

上一页  [1] [2] 



更多的用ASP设计购物推车请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13 15:09:22   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报