用ASP设计购物推车_ASP基础

什么是购物推车?
  你一定去过超级市场吧。在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账。
  那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车"。电子推车是超级市场推车的电子化。在网上商店里,这种电子推车又称为"购物推车",英文是shopping cart。
购物推车的设计目标
  从程序员的观点来看,购物推车是维护购物者商品选购、允许察看、允许修改的一个对象。购物推车本身是一个非常简单的程序,但开发者要考虑它将连接到商品目录子系统、订单子系统、客户账号子系统、站点管理子系统等等,形成功能完整的网上商店。
下面是购物推车的设计目标:
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,分别表示商品编号和数量。
  这样我们就可以用一个二维数组来表达这个推车,象下面这样:
商品编号 商品数量
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) <> id then
  checkitem=false
 end if
  next
 end if
end function
首先判断推车是否存在。然后将商品的编号id和购物推车中的商品编号逐一比较。如果有相等的,返回真。否则为假。
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
%>

时间: 2024-09-25 05:26:55

用ASP设计购物推车_ASP基础的相关文章

用ASP设计购物推车程序

程序|设计 什么是购物推车?    你一定去过超级市场吧.在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账.    那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车".电子推车是超级市场推车的电子化.在网上商店里,这种电子推车又称为"购物推车",英文是Shopping Cart.  购物推车的设计目标    从程序员的观点来看,购物推车是维护购物者商品选购.允许察看.允许修改的一个对象

开发分析实例:用ASP设计购物推车

设计 什么是购物推车? 你一定去过超级市场吧.在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账. 那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车".电子推车是超级市场推车的电子化.在网上商店里,这种电子推车又称为"购物推车",英文是Shopping Cart. 购物推车的设计目标 从程序员的观点来看,购物推车是维护购物者商品选购.允许察看.允许修改的一个对象.购物推车本身是一个非常简

实例代码解析:用ASP设计购物推车

设计 什么是购物推车? 你一定去过超级市场吧.在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账. 那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车".电子推车是超级市场推车的电子化.在网上商店里,这种电子推车又称为"购物推车",英文是Shopping Cart. 购物推车的设计目标 从程序员的观点来看,购物推车是维护购物者商品选购.允许察看.允许修改的一个对象.购物推车本身是一个非常简

用ASP设计购物推车

设计     你一定去过超级市场吧.在那里你可以推着推车,将中意的商品放进推车,或者把推车里的商品取出来重新放到货架,最后你推着推车去结账. 那么,在网上超市,客户也应该可以在浏览商品目录时,将中意的商品放进"电子推车".电子推车是超级市场推车的电子化.在网上商店里,这种电子推车又称为"购物推车",英文是Shopping Cart.购物推车的设计目标 从程序员的观点来看,购物推车是维护购物者商品选购.允许察看.允许修改的一个对象.购物推车本身是一个非常简单的程序,但

后台管理登录篇-asp设计与数据库_ASP基础

实现功能不难,想要完善,甚至完美,那才叫难.所以,小弟将功能实现帖出来,和各位初学者讨论讨论.至于完善,就看各位自己的想法了 一.建立数据库 在就开始了,我建了一个名为windsn.mdb的数据库,包含4张表admin表(用于管理员信息):id, name(用户名), pwd(密码), ...concent表(用于存放文档数据):con_id, title, author, part, con, time, numcon_id 自动编号title 文章标题author 作者或出处part 文章分

javascript asp教程错误处理_ASP基础

The ASPError Object has zero (0) Methods, nine (9) Properties, zero (0) Events, and zero (0) Collections. AspCode AspDescription Category Column Description File Line Number Source The way you access the ASPError Properties is with a Server Method. Y

javascript asp教程 日期相关_ASP基础

JavaScript is loosely typed. Database files are not. If you put text into a Boolean database column or a Boolean value into a date/time column, then you will get an error. For the most part this is not a problem, except for date/time. It does not cor

ASP函数大全解析_ASP基础

Array() 函数返回一个数组表达式 Array(list)允许数据类型: 字符,数字均可实例: <% Dim myArray() For i = 1 to 7 Redim Preserve myArray(i) myArray(i) = WeekdayName(i) Next %> 返回结果: 建立了一个包含7个元素的数组myArraymyArray("Sunday","Monday", ... ... "Saturday") 

推荐ASP超速入门视频教程_ASP基础

  [基础操作][本教程全部更新完]     1.初识网页 2.动态网页和静态网页概述 3.ASP概述 4.IIS的安装和设置 5.浏览ASP页面 6.创建一个简单的ASP程序 [利用脚本语言创建动态网页]     7.脚本语言概述 8.VBScript简介 9.数据类型 10.声明变量 11.命名的规则 12.运算符 13.流程控制语句 14.JavaScript简介 15.基本结构和语法 16.变量规则 17.JS流程控制语句 18.总结 [ASP基本语法]     19.ASP程序的特点