购物车类

<!--#include FILE="../db/LDB.asp"-->
<%
'---------------------------
' ASP 购物车类 
'-------------常量定义----------------------------------
' 定义货物表。关键字为ID
ProductionTable="Production"

' 定义订单表,订单明细表,订单号字段名称
OrderTable="OrderTable"
OrderID="OrderID"
OrderDetailTable="OrderDetail"
'-------------常量定义结束------------------------------


'-------------类定义------------------------------------
' 购物车类
' 引用了LDB类
Class LDCart

  '-----------------------------------
  '私有函数部分
  '-----------------------------------
  Private CPList(50,2) '商品列表,采用二维数组,每个记录第一个表示商品代号,第二个表示购物数量
  Private CPCount  '当前购买商品的商品数
  Private MyQuery  '查询类
  Private MyDB   '数据操作类
  Private CurrUserID '当前用户代号

  Private Function GetInfoByID(ID)
    '根据货物编号得到货物信息 返回类型为记录集
 Set GetInfoByID= MyDB.DoSelect("select * from "&ProductionTable&" where ID = "&ID)
  End Function

  Private Function GetUserInfoByID(UserID)
    '得到用户信息  返回类型为记录集
 MyQuery.Cols="ID"
 MyQuery.Types="1"
 MyQuery.Values="=##"&UserID
 Set MyDB.LDQuery=MyQuery
 MyDB.TableName="User"
 MyDB.Cols=""
 MyDB.NeedNumber=1
 
 Set GetInfoByID= MyDB.GetRecordSet

  End Function
 
  '-----------------------------------
  '公共函数部分
  '-----------------------------------

  Public Function Initial
    '初始化购物车
 CPCount=0
 CurrUserID=Session("UserID")
    Set MyQuery = New LDQuery
    Set MyDB = New LDB
 Set MyDB.LDQuery=MyQuery
  End Function

  Public Function AddItem(ID)
    '根据货物ID增加货物数量为1
 '返回值=0:成功
 '返回值=-1:货物已在购物车中
 '返回值=-2:购物车已满
 If CPCount = 50 then
   AddItem=-2
   Exit Function
 End If

 Dim i,res
 For i=0 To CPCount-1
   If ID = CPList(i,0) then
  AddItem=-1
  Exit Function
   End If
 Next

    CPList(CPCount,0)=ID
    CPList(CPCount,1)=1
    CPCount=CPCount+1
 AddItem=0
  End Function
 
  Public Function RemoveItem(ID)
    '根据货物ID删除货物
 '返回值=0:成功
 '返回值=-1:货物不在购物车中
 j=-1
 For i=0 To CPCount-1
   If CPList(i,0)=ID then
     j=i
   End If
 Next
 If j=-1 then
   RemoveItem=-1
   Exit function
 End If

 For i=j To CPCount-1
   CPList(i,0)=CPList(i+1,0)
   CPList(i,1)=CPList(i+1,1)
 Next
 CPList(CPCount,0)=""
 CPList(CPCount,1)=0

 CPCount=CPCount-1
 RemoveItem=0
  End Function

  Public Function DisplayCart
    '显示购物车
 Response.write"<br>--------------------------------------------------------<Br>"
 Response.write"当前用户:"&CurrUserID&"--------------------------------------------------------<Br>"
 If CPCount=0 then
   Response.write "购物为空!"
 else
 For i = 1 To CPCount
   Set CurrInfo=GetInfoByID(CPList(i-1,0))
   Response.write "货物代号是:"&CPList(i-1,0)&"    名称是:"&CurrInfo("mc")&"    价格是:"&CurrInfo("jg")&"    数量是:"&CPList(i-1,1)
   Response.write "<br>"
 Next
 Response.write"--------------------------------------------------------<Br>"
 Response.write "当前货物总数是:"&CPCount&"  ||  ""当前货物总价格是:"&CountTotalPay
 End If
  End Function

  Public Function UpdateCount(ID,Count)
    '改变某商品的数量
 '返回值=0:成功
 '返回值=-1:货物不在购物车中
 '返回值=-2:改变的数量小于等于0
 If Count<1 then
   UpdateCount=-2
   Exit function
 End If'判断,要改变的数量是不是大于等于0 如果不是,则返回错误信息-整数-2

 j=-1
 For i=0 To CPCount-1
   If CPList(i,0)=ID then
     j=i
   End If
 Next
  If j=-1 then
   UpdateCount=-1
   Exit function
 End If'判断要删除的货物是否已经在购物车中,如果不是,则返回错误信息-整数-1

 CPList(j,1)=Count 
 UpdateCount=0
  End Function

  Public Function CountTotalPay
    '计算合计价格
 '返回值:合计价格
 TempTotal=0
 For i=0 To CPCount-1
   TempTotal=TempTotal+GetInfoByID(CPList(i,0))("jg")*CPList(i,1)
 Next
 CountTotalPay=TempTotal
  End Function

  Public Function ApplyOrder    '提交订单
 '返回值=0:成功
 ZK=1 '折扣
 OrderID=Replace(LDFormatDateTime(now)&CurrUserID,"-","")
 OrderID=Replace(OrderID," ","")
 OrderID=Replace(OrderID,":","")
 MyDB.TableName=OrderTable
 MyDB.Cols="UserID|HJ|SJ|IP|YB|DZ|SJR|Tel|OrderID"
 MyDB.Types="1|1|0|0|0|0|0|0|0"
 MyDB.Values=CurrUserID&"|"&CountTotalPay&"|"&LDFormatDateTime(now)&"|"&GetUserIP()&"|"&YB&"|"&DZ&"|"&SJR&"|"&Tel&"|"&OrderID
 MyDB.Add

 MyDB.TableName=OrderDetailTable
 MyDb.Cols="OrderID|CPID|Count|ZK"
 MyDB.Types="0|0|1|1"

 For i=0 To CPCount-1
   MyDB.Values=OrderID&"|"&CPList(i,0)&"|"&CPList(i,1)&"|"&ZK
   MyDB.Add
 Next
 ApplyOrder=0
  End Function

  Public Function Clear    '清空购物车
 '返回值=0:成功
 For i=1 To CPCount
   CPList(i-1,0)=""
   CPList(i-1,1)=0
 Next
 CPCount=0
  End Function

  Public Function DeleteOrder(OrderID)
 '返回值=0:成功
    MyQuery.Cols="OrderID"
 MyQuery.Types="0"
 MyQuery.Values="<##"&OrderID
    MyDB.TableName=OrderTable
 MyDB.Delete
 MyDB.TableName=OrderDetailTable
 MyDB.Delete
    DeleteOrder=0
  End Function
End Class
'-------------类定义结束--------------------------------

%>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断
好的,以下是一个简单的购物车页面的HTML、CSS和JavaScript代码: HTML代码: ```html <body> <div class="container"> <div class="header"> <h1>购物车</h1> </div> <div class="categories"> <h2>分</h2> <ul> <li class="category active">全部</li> <li class="category">家电</li> <li class="category">服饰</li> <li class="category">食品</li> <li class="category">其他</li> </ul> </div> <div class="items"> <h2>商品列表</h2> <ul> <li class="item"> <span class="name">电视</span> <span class="price">¥2999.00</span> <span class="category">家电</span> </li> <li class="item"> <span class="name">衣服</span> <span class="price">¥399.00</span> <span class="category">服饰</span> </li> <li class="item"> <span class="name">巧克力</span> <span class="price">¥29.90</span> <span class="category">食品</span> </li> <li class="item"> <span class="name">笔记本电脑</span> <span class="price">¥5999.00</span> <span class="category">家电</span> </li> <li class="item"> <span class="name">鞋子</span> <span class="price">¥299.00</span> <span class="category">服饰</span> </li> <li class="item"> <span class="name">零食大礼包</span> <span class="price">¥99.00</span> <span class="category">食品</span> </li> <li class="item"> <span class="name">手机</span> <span class="price">¥3999.00</span> <span class="category">家电</span> </li> <li class="item"> <span class="name">牛仔裤</span> <span class="price">¥199.00</span> <span class="category">服饰</span> </li> <li class="item"> <span class="name">饮料</span> <span class="price">¥3.50</span> <span class="category">食品</span> </li> </ul> </div> </div> <script src="script.js"></script> </body> ``` CSS代码: ```css * { box-sizing: border-box; margin: 0; padding: 0; } .container { max-width: 800px; margin: 0 auto; padding: 20px; } .header { text-align: center; margin-bottom: 20px; } .categories h2 { margin-bottom: 10px; } .categories ul { list-style: none; } .categories .category { display: inline-block; margin-right: 10px; padding: 5px 10px; font-size: 14px; background-color: #eee; cursor: pointer; } .categories .category.active { color: #fff; background-color: #007bff; } .items h2 { margin-bottom: 10px; } .items ul { list-style: none; } .items .item { margin-bottom: 10px; padding: 10px; border: 1px solid #eee; } .items .item .name { display: inline-block; width: 50%; font-weight: bold; } .items .item .price { display: inline-block; width: 20%; text-align: right; } .items .item .category { display: inline-block; width: 20%; text-align: right; color: #007bff; font-weight: bold; cursor: pointer; } ``` JavaScript代码: ```javascript const categories = document.querySelectorAll('.category'); const items = document.querySelectorAll('.item'); categories.forEach(category => { category.addEventListener('click', () => { categories.forEach(c => c.classList.remove('active')); category.classList.add('active'); const categoryValue = category.textContent.toLowerCase(); items.forEach(item => { if (categoryValue === '全部') { item.style.display = 'block'; } else { const itemCategory = item.querySelector('.category').textContent.toLowerCase(); item.style.display = itemCategory === categoryValue ? 'block' : 'none'; } }); }); }); ``` 这段代码包含一个商品列表,以及一个分列表,当点击分列表中的某一项时,商品列表会根据分进行过滤。您可以根据自己的需求对代码进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值