在好例子网,分享、交流、成长!
您当前所在位置:首页ASP 开发实例ASP数据库编程 → asp购物车实例代码

asp购物车实例代码

ASP数据库编程

下载此实例
  • 开发语言:ASP
  • 实例大小:3.18KB
  • 下载次数:125
  • 浏览次数:1103
  • 发布时间:2015-06-21
  • 实例类别:ASP数据库编程
  • 发 布 人:yyt
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 网站

实例介绍

【实例简介】
【实例截图】

【核心代码】

【精华】asp购物车原理及其源代码 
<%
'==========================
'购物车类 类名:UserCart
'作者:Cosiray
'基本原理:此类用服务器Session变量保存商品数据,商品用一个数组表示.此类里面保存了三中商品价格.
'==========================
Class UserCart
    '建立购物车
    Sub CreateCart()
        dim CFlag,i
        dim mCart(6,0)
        CFlag=CheckCart()
        if CFlag=false then
            For i=LBound(mCart,2) to UBound(mCart,2)
                mCart(0,i)=""
            next 
            Session("User_Cart")=mCart
        end if 
    End Sub
    '检查购物车
    Public Function CheckCart()
        IF IsArray(Session("User_Cart")) Then
            CheckCart=true
        Else
            CheckCart=false 
        End If
    End Function
    '检查购物车是否为空
    Function CheckEmtpy()
        dim mCart,i
        mCart=Session("User_Cart")
        For i=LBound(mCart,2) to UBound(mCart,2)
            if mCart(0,i)<>"" then
                CheckEmtpy=false
                Exit Function
            end if
        next
        CheckEmtpy=True 
    End Function
    '添加商品
    Function AddItem(aID,aName,aPrice1,aPrice2,aPrice3,aCount,aImage)
        dim mCart,i
        AddItem=false
        if CheckItem(aID)=false then
            '无此商品
            mCart=Session("User_Cart")
            For i=LBound(mCart,2) to UBound(mCart,2)
                if mCart(0,i)="" then
                    mCart(0,i)=aID
                    mCart(1,i)=aName
                    mCart(2,i)=aPrice1
                    mCart(3,i)=aPrice2
                    mCart(4,i)=aPrice3
                    mCart(5,i)=aCount
                    mCart(6,i)=aImage
                    Session("User_Cart")=mCart
                    AddItem=true
                    exit Function
                end if
            next 
            i=i 1
            Redim preserve mCart(6,i)
            mCart(0,i)=aID
            mCart(1,i)=aName
            mCart(2,i)=aPrice1
            mCart(3,i)=aPrice2
            mCart(4,i)=aPrice3
            mCart(5,i)=aCount
            mCart(6,i)=aImage
            Session("User_Cart")=mCart
            AddItem=True
        Else
            '有此商品,则商品数量 1
            ModifItem aID,aCount,0
            AddItem=True
        End if
    End Function
    '删除商品数量
    Sub DelItem(mID)  '改进2008-12-25by tommy 增加删除商品过程
        dim mCart,i,j,mount
        response.Write(mID)
        mCart=Session("User_Cart")
        mount=UBound(mCart,2)
        If mID=mount Then
            mount=mount-1
            mCart(0,mount 1)=""
            ReDim Preserve mCart(6,mount)
        Else
            mount=mount-1
            For i=mID To mount
                For j=0 To 6
                    mCart(j,i)=mCart(j,i 1)
                Next
            Next
            mCart(0,mount 1)=""
            ReDim Preserve mCart(6,mount)
        End If
        Session("User_Cart")=mCart
    End Sub
    '修改商品数量
    Sub ModifItem(mID,mCount,mFlag)
        'mFlag-标志 0-添加 1-删除,2-修改 3-清空
        'mID-商品ID
        'mCount-修改商品的数量
        dim mCart,i
        mCart=Session("User_Cart")
        For i=LBound(mCart,2) to UBound(mCart,2)
            if mCart(0,i)=mID then
                select case mFlag
                case 1
                    mCart(5,i)=mCart(5,i)-mCount
                case 0
                    mCart(5,i)=mCart(5,i) mCount
                case 2
                    if mCount=0 then
                        mCart(5,i)=0
                        mCart(0,i)=""
                    else
                        mCart(5,i)=mCount
                    end if
                case 3
                    mCart(5,i)=0
                    mCart(0,i)=""
                end select
                Session("User_Cart")=mCart
                exit Sub
            end if
        next 
    End Sub
    '查看推车
    Function ViewCart()
        dim mCart
        mCart=Session("User_Cart")
        ViewCart=mCart
    End Function
    '检查商品
    Function CheckItem(cID)
        dim mCart,i
        mCart=Session("User_Cart")
        For i=LBound(mCart,2) to UBound(mCart,2)
            if mCart(0,i)=cID then
                CheckItem=True
                exit Function
            end if
        next 
        CheckItem=false
    End Function
    '清空购物车
    Sub RemoveAll()
        dim mCart,i
        mCart=Session("User_Cart")
        For i=LBound(mCart,2) to UBound(mCart,2)
            mCart(0,i)=""
        next 
        Session("User_Cart")=mCart
    End Sub 
    '商品总价值
    Function TPrice()
        dim mCart,i
        dim OutPrice(3)
        mCart=Session("User_Cart")
        for i=LBound(mCart,2) to UBound(mCart,2)
            if mCart(0,i)<>"" then 
                Outprice(0)=Outprice(0)   mCart(2,i)*mCart(5,i)
                Outprice(1)=Outprice(1)   mCart(3,i)*mCart(5,i)
                Outprice(2)=Outprice(2)   mCart(4,i)*mCart(5,i)
                Outprice(3)=OutPrice(3)   mCart(5,i)
            end if
        next
        TPrice=OutPrice
    End Function
End Class
'=================================================
'建立购物车对象,该对象用于直接在程序中调用
'=================================================
dim uCart
set uCart= new UserCart
%>

使用:
第1
'=================================================
'建立购物车对象,该对象用于直接在程序中调用
'=================================================
dim uCart
set uCart= new UserCart

第二
建立一个购物车
uCart.CreateCart       (可以重复建立,因为里面有IsArray判断。所以建议这句在建立购物车对象后必写)

第三
增加购物车里的商品,在客户端点了某产品后,服务器端处理的ASP文件中接受传过来的产品标志,并访问数据库。分别把AddItem(aID产品标

志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格三如金牌会员价,如果没这么多可以置空

或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址)
使用方法:aa=uCart.AddItem(aID产品标志如ID,aName产品名称,aPrice1产品价格一,如单价,aPrice2产品价格二如会员价,aPrice3产品价格

三如金牌会员价,如果没这么多可以置空或置0,aCount购买数量,一般是一个,多个的话后面可以用修改函数修改,aImage产品图片地址),返回

true表示成功,false表示失败

第四
增加了以后进如显示页面,就要用到查看购物车
mycart=uCart.ViewCart()
For i =LBound(myCart,2) to UBound(myCart,2)
 if myCart(0,i)<>"" then
  myCart(0,i) '获取标号
  myCart(1,i)  '获取单价
  。。。以此类推
 end if
next

第五
查看了,可以修改购物车,如更改数量等,或是删除其中的
call uCart.ModifItem(mID唯一标志号,mCount产品数量,mFlag-标志 0-添加 1-删除,2-修改 3-清空)    '先用给后面参数赋值


修改其中的商品
可以用第四个显示,先接受session的值,然后循环修改

或清空购物车
uCart.RemoveAll()

然后结帐,很简单
myprice=uCart.TPrice()
然后myprice(0)是产品单价的总价格,myprice(1)是产品会员价的总价格,myprice(2)是高级会员的总价格,myprice(3)是产品总数量

 将商品装入购物车,这时需要用cookie或session来做一个不同页面间传递的全局变量,也就是说关了浏览器(针对session)或清楚了cookie等原因,本次购物车会消失,就象你今天在商场买了一车的东西,最后没结帐,明天肯定没了,又归位了,当然要有特殊需要保存,可以写数据库!所以这里记录的只需要是该商品的相关信息就可以了,这里我们记录他的 物品ID, 物品单价, 物品名称, 物品数量

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
</head>
<body>
    <form name="form1" action="AddToCart.asp?action=save" method="post">
    产品Id:<input type="text" name="produceId" />
    产品名称:<input type="text" name="produceName" />
    产品单价:<input type="text" name="producePrice" />
    产品数量:<input type="text" name="buynum" />
    <input type="submit" />
    </form>
    <br>
    <%
    dim action
    action=request("action")    
    If action="save" Then
        Dim aId,aName,aPrice,aCount
        aId=request.Form("produceId")
        aName=request.Form("produceName")
        aPrice=request.Form("producePrice")
        aCount=request.Form("buynum")        
        uCart.CreateCart       
        if uCart.AddItem(aId,aName,aPrice,0,0,aCount,0) then 
            CALL COSIRAY.ErrView("","","<li>添加成功!<script>function Close(){parent.closeWithIframe();}setTimeout(""location.href='AddToCart.asp';Close();"",1000)</script>",1)
        else
            CALL COSIRAY.ErrView("","","<li>操作错误<li>此界面 3 秒钟后自动关闭<script>function Close(){parent.closeWithIframe();}setTimeout(""history.go(-1);Close();"",1000)</script>",0)
        end if
    ElseIf action="del" Then
        aId=request("produceId")
        aa=uCart.DelItem(aId)
        response.Redirect("AddToCart.asp")
    End If
    
    
    if true then 
    dim i,MyPrice,myCart
    myCart = uCart.ViewCart
    %>
    <table border="1">
        <tr>
            <th>
                产品编号
            </th>
            <th>
                产品名称
            </th>
            <th>
                产品价格
            </th>
            <th>
                产品数量
            </th>
            <th>
                操作
            </th>
        </tr>
        <%
        For i = LBound(myCart,2) To UBound(myCart,2)
        If myCart(0,i)<>"" Then '以前的判断语句
        %>
        <tr>
            <td>
                <%=MyCart(0,i)%></td>
            <td>
                <%=MyCart(1,i)%></td>
            <td>
                <%=MyCart(2,i)%></td>
            <td>
                <%=MyCart(5,i)%></td>
            <td>
                <a href="AddToCart.asp?action=del&produceId=<%=MyCart(0,i)%>" onclick="return confirm('你确定要删除吗?');">
                    删除</a>
            </td>
        </tr>
        <%
        End If
        Next
        MyPrice=uCart.TPrice()
        %>
        <tr>
            <td>总价格:<%=MyPrice(0)%></td>
            <td colspan="3">产品总数量:<%=MyPrice(3)%></td>
        </tr>
    </table>
    <%end if%>
</body>
</html>

标签: 网站

实例下载地址

asp购物车实例代码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警