什麼是購物推車?
你一定去過超級市場吧。在那裡你可以推著推車,將中意的商品放進推車,或者把推車裡的商品取出來重新放到貨架,最後你推著推車去結賬。
那麼,在網上超市,客戶也應該可以在瀏覽商品目錄時,將中意的商品放進"電子推車"。電子推車是超級市場推車的電子化。在網上商店裡,這種電子推車又稱為"購物推車",英文是shopping cart。
購物推車的設計目標
從程式設計師的觀點來看,購物推車是維護購物者商品選購、允許察看、允許修改的乙個物件。購物推車本身是乙個非常簡單的程式,但開發者要考慮它將連線到商品目錄子系統、訂單子系統、客戶賬號子系統、站點管理子系統等等,形成功能完整的網上商店。
下面是購物推車的設計目標:
1、 持續性:購物推車應該從它的前一次會話中記住其內容。
2、 購物推車和客戶相關,而不是和客戶的電腦相關。客戶可以從另外的電腦或瀏覽器來訪問購物推車。
3、 當新的商品被加入推車或者從推車去掉時,推車的內容可以被顯示給使用者。
4www.cppcns.com、 推車可以容納很多甚至無限的商品。
系統設計/流程設計
在編寫我們的購物推車之前,我們看看它的系統架構和流程。
如果客戶從商品目錄中選擇了一件商品,這時我們傳遞客戶的請求到proxy.asp,同時傳遞的是動作變數"增加商品"。proxy.asp讀取這個變數,並決定執行購物推車的哪個動作。這些動作包括:增加商品、更新商品數量、移除商品或者察看購物推車。
有些動作被作為內部呼叫。如建立推車之前,我們需要檢查推車是否已經存在(checkcart)。在增加、刪除或者更新商品及其數量時,我們要確認此商品是否已經存在於我們的購物推車之中(checkitem)。下面我們將為購物推車設計8個方法,分別是:
viewitem 察看推車
checkcart 檢查推車
createcart 建立推車
additem(id, qty), 增加商品
removeitem(id) 刪除商品
updateitem(iqnsytopd, 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變數中就可以了。
購物推車類cartkiqnsytopt的設計
請**: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
%>
本文標題: 用asp設計購物推車
本文位址: /wangluo/asp/830.html
超市購物設計
package duixiang3 超市購物設計 public class example05 class product public void setproname string proname public string getproname class market public void ...
購物車設計
購物車設計 最近接觸了下購物車,發現購物車裡面的內容還是比較繁瑣的,乙個合理的設計實在是必不可少的,所以查了下資料,也結合自己的一些理解,小小總結了下 補充一點 好的資料庫表設計是任何實現的基礎 1.什麼是購物車?實物 去超市看看,簡單理解為能裝貨物的推車 購物籃 網際網路 虛擬購物車,存放虛擬貨品...
用asp生成PDF檔案
首先必須在定義欄位的工作站 不是伺服器 上安裝有adobe完全版。這個是乙個指向adobe forms acrobat toolkit的鏈結,由此開始一切就容易了。http partners.adobe.asn developer acrosdk forms.html 並把它解壓縮到指定目錄。當你進...