




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 前言隨著互聯(lián)網(wǎng)的飛速發(fā)展,電子商務(wù)逐漸走向千家萬(wàn)戶。它已經(jīng)開(kāi)始影響到人們?nèi)粘I畹姆椒矫婷妗M瑫r(shí),我們也開(kāi)始意識(shí)到其中蘊(yùn)含的巨大商機(jī)和商業(yè)價(jià)值,開(kāi)始從事電子商務(wù)活動(dòng)。 .電子商務(wù)可以通過(guò)IE瀏覽器實(shí)現(xiàn)消費(fèi)者的網(wǎng)上購(gòu)物和賣家與中介之間的交易。是一種新型的網(wǎng)上銀行支付業(yè)務(wù)運(yùn)營(yíng)模式。電子商務(wù)是網(wǎng)絡(luò)技術(shù)應(yīng)用的新發(fā)展方向。互聯(lián)網(wǎng)本身的開(kāi)放、全球化、低成本、高效率的特點(diǎn)也成為電子商務(wù)的特點(diǎn),并大大超越了電子商務(wù)作為一種新的貿(mào)易形式的價(jià)值。它不僅會(huì)改變企業(yè)本身的生產(chǎn)經(jīng)營(yíng)管理活動(dòng),還會(huì)影響整個(gè)社會(huì)的經(jīng)濟(jì)運(yùn)行和結(jié)構(gòu)。電子商城的興起對(duì)傳統(tǒng)的購(gòu)物方式體系產(chǎn)生了強(qiáng)烈沖擊,有效縮短了商品的流通周期,使消費(fèi)者與營(yíng)
2、銷者緊密結(jié)合,大大提高了物質(zhì)流通率。淘寶和當(dāng)當(dāng)給我們做了很好的示范。這也告訴我們,開(kāi)網(wǎng)店是完全可行的。電子商店利用互聯(lián)網(wǎng)銷售各種商品,包括電子產(chǎn)品、食品、化妝品、服裝、寵物等,坐在家里也能輕松購(gòu)物。客戶可以瀏覽各種產(chǎn)品,使用網(wǎng)上銀行直接購(gòu)買自己需要的產(chǎn)品,并通過(guò)郵政部門和各快遞公司將貨物送到客戶家中。購(gòu)物的好處是購(gòu)物的方便和快捷,提高了購(gòu)物的效率。顧客也可以給店主留言,寫下自己的意見(jiàn)和感受。目前,中國(guó)網(wǎng)民數(shù)量已超過(guò)2億,人數(shù)已達(dá)131萬(wàn),其中16.7%的網(wǎng)民經(jīng)常光顧和購(gòu)物。穩(wěn)步改善。可見(jiàn),網(wǎng)店是大勢(shì)所趨。通過(guò)以上數(shù)據(jù),我們可以愉快地發(fā)現(xiàn)網(wǎng)上開(kāi)店的優(yōu)勢(shì): (1)投資少,見(jiàn)效快; (二)無(wú)銷售時(shí)限
3、; (3) 無(wú)銷售地點(diǎn)限制。本次畢業(yè)設(shè)計(jì)主要使用HTML基礎(chǔ)語(yǔ)言、ASP、Vbscript腳本語(yǔ)言、DREAMWEAVER設(shè)計(jì)網(wǎng)頁(yè),使用數(shù)據(jù)庫(kù)知識(shí)(ACCESS)設(shè)計(jì)數(shù)據(jù)庫(kù),使用SQL語(yǔ)句完成數(shù)據(jù)查詢、修改、刪除等功能,最終完成整個(gè)電子商城系統(tǒng)調(diào)試。第二章設(shè)計(jì)方案本次畢業(yè)設(shè)計(jì)中使用的ASP(Active Server Pages)既不是編程語(yǔ)言也不是開(kāi)發(fā)工具,而是一種技術(shù)框架。它可以在不使用 Microsoft 產(chǎn)品的情況下編寫代碼,或者構(gòu)建和執(zhí)行動(dòng)態(tài)、交互式和高效的服務(wù)器應(yīng)用程序。使用ASP,可以將VBscript、javascript等腳本語(yǔ)言嵌入到HTML中,無(wú)需編譯即可快速完成應(yīng)用程序
4、,并可直接在服務(wù)器端執(zhí)行。 ASP 很容易編寫,可以使用記事本等常用的文本編輯器來(lái)完成。由于腳本運(yùn)行在服務(wù)器而不是客戶端,ASP使用的腳本語(yǔ)言運(yùn)行在服務(wù)器上,客戶端的瀏覽器不需要提供任何其他支持,大大提高了用戶與客戶端的交互速度。服務(wù)器。此外,它還可以通過(guò)內(nèi)置組件實(shí)現(xiàn)更強(qiáng)大的功能,例如使用ADO輕松訪問(wèn)數(shù)據(jù)庫(kù)。電子商城系統(tǒng)由B/S(瀏覽器/服務(wù)器)開(kāi)發(fā)。在這種模式下,用戶主要通過(guò)客戶端瀏覽器瀏覽系統(tǒng)的工作界面,很少有事務(wù)在瀏覽器中實(shí)現(xiàn)。事務(wù)在服務(wù)器端(Server)上實(shí)現(xiàn)。該模式通過(guò)IE進(jìn)行通信,不受地域限制。從而降低了系統(tǒng)維護(hù)和升級(jí)的成本和工作量,降低了用戶的整體成本。電子商城系統(tǒng)的特點(diǎn)是用
5、戶在客戶端登錄系統(tǒng),然后在系統(tǒng)中瀏覽、管理或購(gòu)買商品。系統(tǒng)的預(yù)期用戶是不確定的。如果需要用戶下載安裝軟件來(lái)瀏覽產(chǎn)品,會(huì)增加用戶瀏覽產(chǎn)品的難度,大大減少用戶數(shù)量。電子商城系統(tǒng)應(yīng)支持跨平臺(tái)管理,用戶無(wú)需下載安裝軟件。 B/S模式支持跨平臺(tái)操作,安裝瀏覽器即可。因此,電子商城系統(tǒng)就是使用這個(gè)模型來(lái)實(shí)現(xiàn)的。從而為不同的用戶提供統(tǒng)一的界面,界面易于維護(hù)。隨著微軟的不斷改進(jìn)和完善,ACCESS正逐漸成為最便捷的中小型數(shù)據(jù)庫(kù)管理系統(tǒng)。 ACCESS支持的SQL命令非常齊全。同時(shí),ACCESS驅(qū)動(dòng)的執(zhí)行效率非常高。使用ACCESS數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng),開(kāi)發(fā)人員可以輕松掌握并解決可能出現(xiàn)的問(wèn)題。基于以上原因,本設(shè)計(jì)采
6、用ASP+ACCESS來(lái)實(shí)現(xiàn)這一課題。第三章電子商城系統(tǒng)設(shè)計(jì)與分析3.1 商城系統(tǒng)介紹電子商城系統(tǒng)是在WEB基礎(chǔ)上開(kāi)發(fā)的,旨在構(gòu)建網(wǎng)上商品購(gòu)物,由前端購(gòu)物和后端管理兩部分組成。電子商城系統(tǒng)主要實(shí)現(xiàn)用戶注冊(cè)、用戶登錄、商品分類瀏覽、查看商品介紹、購(gòu)物車、在線購(gòu)買、商品評(píng)價(jià)、商品投訴、商品管理、會(huì)員管理等功能。根據(jù)這些功能需求,整個(gè)系統(tǒng)分為兩部分:一是用戶使用部分,包括用戶登錄、分類瀏覽、購(gòu)買商品、在線支付等;另一部分是后臺(tái)管理部分,使用前必須經(jīng)過(guò)管理員認(rèn)證,包括產(chǎn)品管理、商品投訴管理和會(huì)員管理,客戶也可以通過(guò)論壇提出意見(jiàn)和建議。電子商城系統(tǒng)通過(guò)方便快捷的功能、簡(jiǎn)潔明了的界面、完善的后臺(tái)管理來(lái)滿足
7、客戶的需求。3.2 軟件目標(biāo)設(shè)計(jì)(1) 系統(tǒng)的用戶登錄和認(rèn)證;系統(tǒng)允許用戶注冊(cè),注冊(cè)用戶需要認(rèn)證才能發(fā)布產(chǎn)品;當(dāng)用戶進(jìn)入系統(tǒng)時(shí),需要認(rèn)證;只有具有特定權(quán)限的用戶才能進(jìn)入特定權(quán)限的界面。(2) 網(wǎng)上銷售商品:注冊(cè)用戶和未注冊(cè)用戶都可以瀏覽所有產(chǎn)品,查看所有產(chǎn)品的詳細(xì)信息;注冊(cè)用戶和未注冊(cè)用戶都可以按類別查找產(chǎn)品;允許注冊(cè)用戶通過(guò)在線支付方式購(gòu)買商品;系統(tǒng)為注冊(cè)用戶提供購(gòu)物車,并允許用戶管理購(gòu)物車。(3) 在線管理貨物:只有管理員才能在線管理產(chǎn)品,即管理產(chǎn)品時(shí)需要對(duì)管理員進(jìn)行認(rèn)證;不同級(jí)別的管理員只能管理相應(yīng)的產(chǎn)品。例如,系統(tǒng)管理員可以管理系統(tǒng)中的所有產(chǎn)品,而一般管理員只能管理自己上傳的產(chǎn)品。(4
8、) 在線管理用戶:系統(tǒng)管理員可以添加、認(rèn)證和查詢用戶;系統(tǒng)管理員可以修改系統(tǒng)中的任何用戶信息;系統(tǒng)管理員可以刪除任何用戶。(五)網(wǎng)上管理公告:系統(tǒng)管理員可以添加公告;系統(tǒng)管理員可以修改公告;系統(tǒng)管理員可以刪除公告。3.3 設(shè)計(jì)原則軟件系統(tǒng)開(kāi)發(fā)設(shè)計(jì)原則一般包括以下四個(gè)方面:(一)經(jīng)濟(jì)實(shí)用的原則;(2)兼容原則;(三)信效度原則;(4) 安全原則。由于這個(gè)電子商城系統(tǒng)只是一個(gè)畢業(yè)項(xiàng)目,需要許多改進(jìn)才能成為一個(gè)可行的系統(tǒng)。因此,在本系統(tǒng)的開(kāi)發(fā)過(guò)程中,生產(chǎn)和開(kāi)發(fā)并不是嚴(yán)格按照上述要求,而是在對(duì)網(wǎng)購(gòu)的理解的基礎(chǔ)上,本系統(tǒng)所做的工作盡可能的符合實(shí)際。另外,考慮到系統(tǒng)的易用性,我們?cè)谙到y(tǒng)的界面設(shè)計(jì)過(guò)程中盡量
9、為用戶提供一個(gè)友好、清晰、簡(jiǎn)潔的網(wǎng)絡(luò)界面。3.4 設(shè)計(jì)思路本課題為電子商城系統(tǒng)的軟件設(shè)計(jì)。圖書館中有很多關(guān)于這個(gè)主題的信息。所以在整體設(shè)計(jì)中,我花了幾個(gè)星期的時(shí)間研究了ASP的六大對(duì)象,了解了主要對(duì)象的一些屬性和方法。花一些時(shí)間學(xué)習(xí) SQL 語(yǔ)句并使用 ACCESS 設(shè)計(jì)后端數(shù)據(jù)庫(kù)。完成數(shù)據(jù)庫(kù)的設(shè)計(jì)后,開(kāi)始設(shè)計(jì)頁(yè)面。考慮到用戶權(quán)限的安全性,DoChar()函數(shù)用于屏蔽一些特殊字符。例如,一些非法用戶會(huì)在IE地址欄中鍵入一些SQL語(yǔ)句來(lái)非法連接數(shù)據(jù)庫(kù)。該功能用于去除一些非法字符。將字符替換為空格字符進(jìn)行輸出,并在數(shù)據(jù)庫(kù)設(shè)計(jì)中添加 Check 字段以檢測(cè)用戶是否是經(jīng)過(guò)身份驗(yàn)證的用戶。非認(rèn)證用戶只能
10、瀏覽部分功能。最后,在基本功能實(shí)現(xiàn)后,進(jìn)行反復(fù)測(cè)試和修改,以達(dá)到最佳效果。需求分析系統(tǒng)是基于B/S(瀏覽器/服務(wù)器)架構(gòu)的系統(tǒng),主要完成商品的瀏覽和購(gòu)買,后臺(tái)管理商品;新增、刪除、修改(更新)新聞公告,會(huì)員網(wǎng)購(gòu)用戶在論壇發(fā)表意見(jiàn)。主意。系統(tǒng)分為前端購(gòu)物和后端管理。前端購(gòu)物是用戶注冊(cè)、瀏覽、訂購(gòu)商品的友好界面;為管理員提供后臺(tái)管理,包括:產(chǎn)品管理、用戶管理、公告管理等,將管理員從繁瑣的手工操作中解放出來(lái),提高工作效率。根據(jù)系統(tǒng)功能的實(shí)現(xiàn),系統(tǒng)可分為以下功能模塊:用戶管理模塊、商品管理模塊、商品類別管理模塊、商品投訴管理模塊、公告管理模塊。用戶管理模塊包括用戶注冊(cè)和驗(yàn)證、用戶信息修改、用戶密碼修改
11、和用戶刪除。商品管理模塊包括商品上傳、修改商品信息、刪除商品、添加商品圖片、修改和刪除商品銷售記錄和瀏覽記錄。商品類別管理模塊包括商品類別的添加、修改、刪除等功能。商品投訴管理模塊包括商品投訴回復(fù)、商品投訴解決和商品投訴刪除。對(duì)于產(chǎn)品投訴,應(yīng)保存產(chǎn)品編號(hào)、所購(gòu)買產(chǎn)品的訂單號(hào)、購(gòu)買時(shí)間等信息。管理公告模塊包括增加、修改和刪除公告。公告包括公告標(biāo)題、公告內(nèi)容、發(fā)布時(shí)間等信息。由于電子商店中的產(chǎn)品數(shù)量可能非常多,因此頁(yè)面的導(dǎo)航用于產(chǎn)品瀏覽。用戶可以通過(guò)單擊上一頁(yè)、下一頁(yè)、第一頁(yè)和最后一頁(yè)來(lái)逐頁(yè)瀏覽。系統(tǒng)對(duì)可靠性、易維護(hù)性、安全性、可操作性等性能有更高的要求。可靠性在出現(xiàn)故障或輸入數(shù)據(jù)不合理時(shí)需要更高
12、的系統(tǒng)要求;易于維護(hù)-系統(tǒng)更改(由系統(tǒng)要求的更改和系統(tǒng)缺陷的補(bǔ)救措施引起)應(yīng)該簡(jiǎn)單且易于實(shí)施;安全本系統(tǒng)處理的數(shù)據(jù)必須具有實(shí)際意義,不能隨意訪問(wèn)和更改。因此,需要控制系統(tǒng)數(shù)據(jù)的訪問(wèn)和修改,有效保護(hù)系統(tǒng)數(shù)據(jù),防止數(shù)據(jù)被非法操作,防止計(jì)算機(jī)病毒破壞;管理人員,而不是計(jì)算機(jī)專業(yè)人員,要求系統(tǒng)易于理解,人機(jī)界面簡(jiǎn)潔明了。功能實(shí)用,操作簡(jiǎn)單方便,車載培訓(xùn)量少。使系統(tǒng)有效運(yùn)行。此外,系統(tǒng)還需要有快速的響應(yīng)速度,以盡量減少工作人員的等待時(shí)間。根據(jù)前端用戶的需求,繪制如下ER圖:實(shí)體類型實(shí)體關(guān)系屬性圖 3.1 ER 圖元素說(shuō)明用戶用戶名密碼權(quán)限地址訂購(gòu)數(shù)量總金額商品信息商品編號(hào)類型編號(hào)價(jià)格商品名稱nm屬于m商
13、品類型1類型編號(hào)類型名稱發(fā)布1公告信息m用戶編號(hào)公告內(nèi)容貨存用戶編號(hào)圖3.2 電子商城系統(tǒng)ER圖通過(guò)訂單關(guān)系鏈接用戶和產(chǎn)品信息表,可以將m:n二進(jìn)制鏈接轉(zhuǎn)化為關(guān)系模型。關(guān)系模型是:用戶(用戶 ID 、密碼、用戶名、權(quán)限、地址);產(chǎn)品信息(商品編號(hào)、型號(hào)、商品名稱、價(jià)格、庫(kù)存)訂單(用戶 ID、項(xiàng)目 ID 、數(shù)量、總金額)通過(guò)投訴關(guān)系將用戶和產(chǎn)品信息表鏈接起來(lái),可以將 m:n 二進(jìn)制鏈接轉(zhuǎn)換為關(guān)系模型。關(guān)系模型是:用戶(用戶 ID 、密碼、用戶名、權(quán)限、地址);產(chǎn)品信息(商品編號(hào)、型號(hào)、商品名稱、價(jià)格、庫(kù)存)從以上分析可以看出,系統(tǒng)有用戶、商品類別、商品、訂單、投訴、公告等實(shí)體,其中實(shí)體對(duì)應(yīng)數(shù)據(jù)
14、庫(kù)中的表,屬性對(duì)應(yīng)表中的字段,關(guān)系對(duì)應(yīng)到數(shù)據(jù)庫(kù)中的表。表之間的連接。3.6 系統(tǒng)大綱設(shè)計(jì)在軟件需求分析階段,明確了軟件“做什么”的問(wèn)題。我們現(xiàn)在要做的就是把軟件“做什么”的邏輯模型轉(zhuǎn)化為“怎么做”的物理模型,即實(shí)現(xiàn)軟件的需求。首先,需要描述的是系統(tǒng)的整體架構(gòu)。3.6.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)在系統(tǒng)的外形設(shè)計(jì)中,最重要的是系統(tǒng)的模塊化。模塊化是指在解決一個(gè)復(fù)雜問(wèn)題時(shí),將一個(gè)軟件系統(tǒng)從上到下逐層劃分為若干模塊的過(guò)程。每個(gè)模塊執(zhí)行特定的功能。所有模塊以一定的方式組織成一個(gè)整體,以完成整個(gè)系統(tǒng)所需的功能。將系統(tǒng)劃分為多個(gè)模塊的目的是為了降低軟件系統(tǒng)的復(fù)雜度,提高可讀性和可維護(hù)性,但模塊的劃分不能隨意,應(yīng)盡可能保
15、持獨(dú)立。也就是說(shuō),每個(gè)模塊只完成系統(tǒng)所需的獨(dú)立子功能,與其他模塊的聯(lián)系最少,接口簡(jiǎn)單,即盡量做到高集成低耦合,改進(jìn)獨(dú)立模塊,設(shè)計(jì)高質(zhì)量的軟件。結(jié)構(gòu)奠定基礎(chǔ)。系統(tǒng)外形設(shè)計(jì)采用結(jié)構(gòu)設(shè)計(jì)( SD)。 SD是基于需求分析階段生成的數(shù)據(jù)流圖DFD,按照一定的步驟映射到軟件結(jié)構(gòu)中。首先,整個(gè)系統(tǒng)分為幾個(gè)小問(wèn)題和小模塊。本系統(tǒng)設(shè)計(jì)了瀏覽公告模塊、瀏覽商品模塊、購(gòu)買商品模塊、商品投訴模塊、用戶注冊(cè)模塊、公告管理模塊、商品管理模塊、訂單管理模塊、投訴管理模塊、用戶管理模塊和柜臺(tái)模塊。3.6.2功能模塊規(guī)劃與分析為了方便電子商城系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),根據(jù)系統(tǒng)的功能需求,采用模塊化設(shè)計(jì)。整個(gè)電子商城系統(tǒng)可以分為以下11
16、個(gè)功能模塊:瀏覽公告模塊:該模塊實(shí)現(xiàn)前臺(tái)公告信息的瀏覽,無(wú)權(quán)限限制。注冊(cè)用戶和非注冊(cè)用戶都可以瀏覽公告。商品瀏覽模塊:該模塊實(shí)現(xiàn)了前端商品和商品信息的無(wú)權(quán)限瀏覽。注冊(cè)用戶和非注冊(cè)用戶都可以瀏覽產(chǎn)品和查看所有產(chǎn)品信息。采購(gòu)模塊:該模塊專門為注冊(cè)用戶提供給以上級(jí)別的用戶。它允許注冊(cè)用戶通過(guò)在線支付購(gòu)買商品。系統(tǒng)為注冊(cè)用戶提供購(gòu)物車,并允許用戶管理購(gòu)物車。訂單管理功能,并允許這些用戶處理相應(yīng)的訂單。商品投訴模塊:該模塊是專門為注冊(cè)用戶提供的,供級(jí)別以上用戶使用。它允許購(gòu)買產(chǎn)品的用戶抱怨產(chǎn)品,而管理員則提出解決方案。用戶注冊(cè)模塊:該模塊包括會(huì)員注冊(cè)、填寫相關(guān)信息、用戶登錄和信息修改。公告管理:該模塊專
17、門提供給管理員使用,系統(tǒng)管理員可以添加公告,系統(tǒng)管理員可以修改公告,系統(tǒng)管理員可以刪除公告。商品管理模塊:在該模塊中,只有管理員可以在線管理商品,即管理員在管理商品時(shí)需要經(jīng)過(guò)認(rèn)證。不同級(jí)別的管理員只能管理相應(yīng)的產(chǎn)品。例如,系統(tǒng)管理員可以管理系統(tǒng)中的所有項(xiàng)目。 ,一般管理員只能管理自己上傳的商品。訂單管理模塊:不同級(jí)別的管理員只能管理相應(yīng)的訂單。例如,系統(tǒng)管理員可以管理系統(tǒng)中所有產(chǎn)品的訂單,而一般管理員只能管理自己上傳的產(chǎn)品的訂單。投訴管理模塊:任何購(gòu)買過(guò)產(chǎn)品的用戶都可以對(duì)所購(gòu)買的產(chǎn)品進(jìn)行投訴。只有管理員可以刪除已回復(fù)的投訴。管理員可以通過(guò)回復(fù)來(lái)處理投訴或解決問(wèn)題。用戶管理模塊:系統(tǒng)管理員可以添
18、加、驗(yàn)證和查詢用戶,系統(tǒng)管理員可以修改系統(tǒng)中的任何用戶信息,系統(tǒng)管理員可以刪除任何用戶。在各個(gè)模塊的設(shè)計(jì)中,要注意它們之間的相對(duì)獨(dú)立性,減少它們之間的耦合,緩解模塊化設(shè)計(jì)的難度。各模塊的關(guān)系如圖 3.5 系統(tǒng)功能模塊圖所示。電子商城系統(tǒng)前臺(tái)購(gòu)物后臺(tái)管理瀏覽商品購(gòu)買商品商品評(píng)價(jià)用戶注冊(cè)分類管理商品管理訂單管理評(píng)價(jià)管理用戶管理廣告顯示購(gòu)物車發(fā)布廣告圖 3.5 系統(tǒng)功能框圖第四章系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)根據(jù)系統(tǒng)的需求分析和數(shù)據(jù)庫(kù)的需求分析,同時(shí)根據(jù)相關(guān)部分的數(shù)據(jù)流程圖,進(jìn)行系統(tǒng)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)。根據(jù)數(shù)據(jù)關(guān)系模型和數(shù)據(jù)庫(kù)關(guān)系模型,我們創(chuàng)建了電子商城系統(tǒng)數(shù)據(jù)表。本系統(tǒng)共有9張數(shù)據(jù)表,
19、分別為:用戶信息表(users)、商品類型表(GoodType)、商品信息表(Goods)、柜臺(tái)信息表(webcount)、訂單信息表(Shop_list)、公告信息表( board)、用戶投訴表(Complain)、論壇基本信息表(bbsconfig)、論壇留言回復(fù)表( reforum )。4.1.1建立數(shù)據(jù)庫(kù)的原則建立數(shù)據(jù)庫(kù)時(shí),由于表中存儲(chǔ)的信息不同,表中所需的字段也不同。確定必填字段時(shí)有五個(gè)原則:1. 描述不同主題的字段應(yīng)該屬于不同的表。通過(guò)定義它們之間的關(guān)系,可以將多個(gè)表中的字段與數(shù)據(jù)結(jié)合起來(lái),生成各種表或報(bào)表;2. 不要將導(dǎo)出或計(jì)算的數(shù)據(jù)存儲(chǔ)在表格中;3. 收集所有必需的信息。應(yīng)徹底
20、檢查書面表格和報(bào)告,以確定所需數(shù)據(jù)包含在設(shè)計(jì)表格中或可以從設(shè)計(jì)表格中計(jì)算出來(lái);4.以最小的邏輯單元存儲(chǔ)信息,并盡量將信息分解成更小的邏輯單元;5.對(duì)于主鍵字段,ACCESS不允許重復(fù)值或NULL值。4.1.2創(chuàng)建字段的原則在實(shí)際選擇和確定數(shù)據(jù)類型時(shí),應(yīng)結(jié)合字段本身考慮以下四點(diǎn):1、該字段用于存儲(chǔ)什么類型的值?2、對(duì)字段中的值進(jìn)行什么類型的操作;3.是過(guò)濾還是按字段排序;4. 是否按字段對(duì)記錄進(jìn)行分組。4.2 數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)完成后,可以將數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)轉(zhuǎn)化為數(shù)據(jù)庫(kù)系統(tǒng)支持的實(shí)際數(shù)據(jù)模型,即數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。在電子商城系統(tǒng)中,共有9張數(shù)據(jù)表,分別是:用戶信息表(users
21、)、商品類型表(GoodType)、商品信息表(Goods)、柜臺(tái)信息表(webcount)、訂單信息表(Shop_list) ) ) 、公告信息表(Board)、用戶投訴表(Complain)、論壇基本信息表(bbsconfig)、論壇留言回復(fù)表( reforum )。用戶信息表( users )信息如表4-1所示。表 4-1 用戶信息表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要用戶身份用戶身份文本12沒(méi)有不要用戶名殘疾人文本12沒(méi)有不要用戶密碼性別不管1沒(méi)有不要性別地址文本100沒(méi)有不要地址電子郵件文本30沒(méi)有是的電話文本20沒(méi)有不要允許數(shù)字1沒(méi)有不要用
22、戶類權(quán)限用戶檢查不管1沒(méi)有不要用戶是否經(jīng)過(guò)身份驗(yàn)證創(chuàng)建此表時(shí),需要?jiǎng)?chuàng)建系統(tǒng)管理員admin。本系統(tǒng)中系統(tǒng)管理員的允許字段為“1”,普通管理員為“2”,普通注冊(cè)用戶為“3”。Usercheck=0,未經(jīng)身份驗(yàn)證的用戶; =1,認(rèn)證用戶。GoodsType表如表 4-2 所示。表 4-2 商品類型表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要產(chǎn)品類別序列號(hào)姓名文本20沒(méi)有不要產(chǎn)品類別名稱類型文本20沒(méi)有不要產(chǎn)品類別產(chǎn)品信息表( Goods )信息如表4-3所示。表 4-3 產(chǎn)品信息表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明ShopID 主鍵自動(dòng)編號(hào)4沒(méi)有
23、不要產(chǎn)品編號(hào)類型 ID文本10沒(méi)有不要類別編號(hào)用戶身份文本12沒(méi)有不要用戶名姓名文本20沒(méi)有不要產(chǎn)品名稱制片人文本50沒(méi)有是的制造商盒文本30沒(méi)有是的包裝型號(hào)價(jià)格數(shù)字8沒(méi)有不要價(jià)格售價(jià)數(shù)字8沒(méi)有不要售價(jià)折扣數(shù)字4沒(méi)有是的折扣內(nèi)容文本200沒(méi)有是的產(chǎn)品描述郵政時(shí)間約會(huì)時(shí)間8沒(méi)有是的上傳時(shí)間現(xiàn)貨供應(yīng)數(shù)字4沒(méi)有不要庫(kù)存商品數(shù)量讀數(shù)數(shù)字4沒(méi)有是的項(xiàng)目被查看的次數(shù)購(gòu)買次數(shù)數(shù)字4沒(méi)有是的購(gòu)買產(chǎn)品的次數(shù)圖像文件文本30沒(méi)有是的產(chǎn)品圖片名稱和路徑貨物檢驗(yàn)不管1沒(méi)有不要產(chǎn)品是否經(jīng)過(guò)驗(yàn)證計(jì)數(shù)器信息表( webcount )信息如表 4-4 所示。表 4-4計(jì)數(shù)器信息表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段
24、說(shuō)明count_id 主鍵自動(dòng)編號(hào)4沒(méi)有不要數(shù)數(shù)count_ip文本15沒(méi)有不要客戶端 IP計(jì)算時(shí)間約會(huì)時(shí)間8現(xiàn)在()不要面試時(shí)間計(jì)數(shù)器信息表包含count( count_id )、客戶IP( count_ip)和訪客訪問(wèn)時(shí)間( count_time ),其中count( count_id )為關(guān)鍵字,數(shù)據(jù)類型為自動(dòng)編號(hào),所以添加數(shù)據(jù)時(shí)會(huì)自動(dòng)添加一個(gè)編號(hào),不再重復(fù)。瀏覽器訪問(wèn)時(shí)間( count_time )的默認(rèn)值是Now(),所以我們可以使用該函數(shù)自動(dòng)獲取瀏覽器訪問(wèn)時(shí)間,并在添加數(shù)據(jù)時(shí)自動(dòng)存入數(shù)據(jù)表中。訂單信息表( Shop_list )信息如表 4-5 所示。表 4-5訂單信息表字段名稱數(shù)
25、據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明OrderSn 主鍵自動(dòng)編號(hào)4沒(méi)有不要訂單號(hào)用戶身份文本12沒(méi)有不要購(gòu)買商品的用戶 ID店鋪名稱文本20沒(méi)有不要購(gòu)買商品的名稱店鋪編號(hào)數(shù)字4沒(méi)有不要產(chǎn)品編號(hào)成本數(shù)字8沒(méi)有不要價(jià)格編號(hào)數(shù)字4沒(méi)有不要購(gòu)買的物品數(shù)量折扣數(shù)字4沒(méi)有不要折扣總消費(fèi)數(shù)字8沒(méi)有不要總購(gòu)買價(jià)訂購(gòu)時(shí)間約會(huì)時(shí)間8沒(méi)有不要購(gòu)買時(shí)間店鋪檢查數(shù)字1沒(méi)有不要訂單處理類型易福寬數(shù)字8沒(méi)有不要支付的金額ShopCheck=0,訂單未處理; =1,訂單已處理。公告信息表( Board )信息如表4-6所示。表 4-6公告信息表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要
26、公告編號(hào)標(biāo)題文本20沒(méi)有不要公告標(biāo)題內(nèi)容文本200沒(méi)有不要公告內(nèi)容郵政時(shí)間時(shí)間/日期8沒(méi)有不要公布時(shí)間用戶身份文本12沒(méi)有不要發(fā)布公告的用戶 ID用戶投訴表( Complain )信息如表4-7所示。表 4-7用戶投訴表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要投訴號(hào)碼用戶身份文本12沒(méi)有不要發(fā)布投訴的用戶 ID店鋪編號(hào)數(shù)字4沒(méi)有不要產(chǎn)品用戶投訴數(shù)量郵政時(shí)間時(shí)間/日期8沒(méi)有不要投訴時(shí)間內(nèi)容文本200沒(méi)有不要投訴結(jié)果文本200沒(méi)有不要投訴解決方案橫幅數(shù)字1沒(méi)有不要投訴解決狀態(tài)Flag=0,表示用戶問(wèn)題沒(méi)有解決,F(xiàn)lag=1,表示用戶問(wèn)題已經(jīng)解決。論壇基本信息表
27、(bbsconfig)如表4-8所示表4-8論壇基本信息字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要用戶身份論壇名稱文本20沒(méi)有不要論壇名稱緩和文本12沒(méi)有不要論壇版主信息文本50沒(méi)有不要論壇介紹經(jīng)過(guò)數(shù)字1沒(méi)有不要論壇訪問(wèn)隱藏?cái)?shù)字1沒(méi)有是的隱藏論壇最后一個(gè)話題文本30沒(méi)有是的最后發(fā)帖主題姓文本12沒(méi)有不要最后的海報(bào)名稱上次約會(huì)時(shí)間8沒(méi)有不要最后發(fā)帖時(shí)間論壇消息回復(fù)信息表( reforum )如表4-9所示表4-9論壇留言回復(fù)信息表字段名稱數(shù)據(jù)類型字段大小默認(rèn)值是否允許為空字段說(shuō)明身份證主鍵自動(dòng)編號(hào)4沒(méi)有不要留言號(hào)碼主題 ID文本4沒(méi)有不要主題號(hào)用戶身份文本12
28、沒(méi)有不要用戶名內(nèi)容文本200沒(méi)有不要回復(fù)發(fā)帖時(shí)間約會(huì)時(shí)間8沒(méi)有不要響應(yīng)時(shí)間第五章系統(tǒng)功能和模塊的設(shè)計(jì)與實(shí)現(xiàn)數(shù)據(jù)表設(shè)計(jì)完成后,應(yīng)設(shè)計(jì)系統(tǒng)功能和模塊。在本設(shè)計(jì)中,Dreamweaver主要在ASP中使用Request(主要是獲取表單中的數(shù)據(jù))、Response(主要是實(shí)現(xiàn)輸出相關(guān)內(nèi)容)、Server(主要是實(shí)現(xiàn)文件相關(guān)路徑的設(shè)置建立Connection對(duì)象),Session(主要實(shí)現(xiàn)用戶信息的存儲(chǔ)和購(gòu)物車的實(shí)現(xiàn)),幾大對(duì)象的屬性和方法,用SQL語(yǔ)句,IF .else語(yǔ)句編寫,完成系統(tǒng)功能的設(shè)計(jì)和模塊和界面的設(shè)計(jì)。數(shù)據(jù)庫(kù)ACCESS和ASP都是通過(guò)ADO實(shí)現(xiàn)的, ADO使用RecordSets對(duì)象集
29、作為數(shù)據(jù)的主要接口。使用SQL語(yǔ)句完成數(shù)據(jù)查詢、過(guò)濾、分組等功能。5.1 創(chuàng)建數(shù)據(jù)庫(kù)打開(kāi)ACCESS,在菜單中點(diǎn)擊New,然后選擇New Empty Database,設(shè)置數(shù)據(jù)庫(kù)名稱。根據(jù)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì),選擇使用設(shè)計(jì)器創(chuàng)建表來(lái)創(chuàng)建各個(gè)模塊需要的數(shù)據(jù)表。5.3 系統(tǒng)模塊的設(shè)計(jì)與實(shí)現(xiàn)5.3.1系統(tǒng)界面和導(dǎo)航欄設(shè)計(jì)電子商城系統(tǒng)給人第一印象的關(guān)鍵是界面,而易用性和易用性與導(dǎo)航欄的設(shè)置有很大關(guān)系。本系統(tǒng)的界面風(fēng)格在top.asp文件,信息在bottom.asp文件,登錄界面和搜索界面在left.asp,產(chǎn)品分類,最新投訴,熱銷產(chǎn)品,以及相關(guān)產(chǎn)品包含在權(quán)利中。在 asp。幾乎每個(gè)模塊中的所有文件都調(diào)
30、用了top.asp和bottom.asp,統(tǒng)一了界面風(fēng)格,使整個(gè)界面更加簡(jiǎn)潔友好。 top.asp如圖5.1所示,導(dǎo)航欄界面。系統(tǒng)首頁(yè) index.asp 調(diào)用 top.asp、bottom.asp、 left.asp、right.asp 。圖5.1 top.asp導(dǎo)航欄界面5.3.2數(shù)據(jù)庫(kù)聯(lián)動(dòng)與計(jì)數(shù)器連接的主數(shù)據(jù)庫(kù)使用以下代碼SetConn=Server.CreateObject(ADODB.Connection)Conn.ConnectionString=Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&Server.MapPath(User.mdb
31、)Conn.open_ _Server.CreateObject的作用是創(chuàng)建Connection對(duì)象,Server.Mappath的作用是查找數(shù)據(jù)庫(kù)的路徑。5.3.3注冊(cè)和登錄模塊在購(gòu)物系統(tǒng)首頁(yè),用戶點(diǎn)擊“注冊(cè)”鏈接,如圖5.2所示,注冊(cè)信息保存在user/UserReg.asp中。圖 5.2 注冊(cè)用戶界面處理注冊(cè)信息的文件是UserInsert.asp,實(shí)現(xiàn)過(guò)程如下。獲取注冊(cè)信息。獲取注冊(cè)信息主要是通過(guò)Request對(duì)象的Form集合獲取表單中的用戶名和密碼,用于連接性別、聯(lián)系人、手機(jī)。主要實(shí)現(xiàn)代碼如下:username=trim(Request.form(username) , pwd=t
32、rim(Request.form(pwd) , email=Request.form(email) , tel=Request.form( Telephone )檢查注冊(cè)信息是否完整。主要是通過(guò)If . else語(yǔ)句來(lái)檢測(cè)表單中的數(shù)據(jù)是否為空。例如:如果username= then result=result&.User cannot be empty!,username為空時(shí)會(huì)提示錯(cuò)誤信息,以此類推,到檢測(cè)密碼。檢測(cè)格式代碼為:n=Instr(email, ” ) 確認(rèn)位置,如果沒(méi)有這個(gè)符號(hào),則表示格式錯(cuò)誤。 if n0 then m=instr(n,email,.) 如果是,檢查是否有符號(hào)
33、.,如果沒(méi)有,則認(rèn)為電子域名錯(cuò)誤。 if m=len(email) then result= 郵件格式錯(cuò)誤 End if .檢查用戶名是否存在。使用 SQL 語(yǔ)句:Set rs = Conn.Execute(Select * from Users where UserId= & uid & )If Not rs.Eof Then如果指針不指向最后一個(gè)記錄集,并且在表的某個(gè)字段中找到相同的ID,會(huì)彈出一個(gè)對(duì)話框“此用戶名已存在”alert(這個(gè)用戶名已經(jīng)存在!);歷史.go(-1);要添加新用戶,請(qǐng)使用 SQL 語(yǔ)句:sql=insert user(userid, password, usern
34、ame, gender, address, email, phone, mobile, allowed) value(&_uid&,&pwd&,&username&,&Sex& , &address&,&email&,&_Request(telephone)&,&Request(mobile)&,&TypeUser&)5.3.4用戶管理中心模塊用戶登錄后,首頁(yè)左側(cè)顯示用戶管理中心界面,如圖5.3所示圖 5.3 用戶管理中心界面功能包括修改信息、修改密碼、客戶投訴、我的投訴、管理界面、購(gòu)物車、注銷。1.更改信息界面該界面與用戶注冊(cè)界面類似,只是界面的每一部分都設(shè)置了用戶信息。圖 5.4圖 5.4
35、 更改用戶信息界面關(guān)鍵代碼是:sql = Select * From Users Where UserId=&userID & and PWD=&Session(Password)&設(shè)置查詢語(yǔ)句,為了保證安全,密碼和用戶名必須是修改前一樣。處理和修改用戶信息的文件是 UserInsert.asp。實(shí)施過(guò)程如下:獲取修改后的用戶信息。檢查用戶信息是否完整,如果不完整,返回錯(cuò)誤信息。修改數(shù)據(jù)庫(kù)中的用戶信息。其中,使用SQL更新語(yǔ)句,使用Request對(duì)象和Session對(duì)象。sql=UpdateUsers Set UserName=&Request(username)&,Sex=&Sex&, &_
36、 地址=&Request(address)&,Telephone=&Request(telephone)&,Mobile=&Request(mobile)&_ ,Email=&Request(email)&,Allow= &TypeUser& where UserId=&uid &使用表中獲取的數(shù)據(jù)更新Users表中的對(duì)應(yīng)字段,條件是只更新指定的UserId。會(huì)話(“用戶名”)=請(qǐng)求(“用戶名”)會(huì)話(“地址”)=請(qǐng)求(“地址”)Session(Email)=Request(email)使用此時(shí)表單中獲取的數(shù)據(jù)來(lái)替換此時(shí)服務(wù)器中保存在會(huì)話中的數(shù)據(jù)。2.修改密碼界面點(diǎn)擊“修改密碼”,進(jìn)入修改密碼
37、界面,如圖5.5所示圖 5.5 修改用戶密碼界面修改用戶密碼需要用戶輸入原密碼并輸入兩次新密碼。網(wǎng)店系統(tǒng)驗(yàn)證當(dāng)前用戶名和當(dāng)前密碼是否相同。代碼顯示如下:sql = Select * From Users Where UserId=&Session(userid)& and PWD=&Session(Password)& 設(shè)置驗(yàn)證用戶密碼和用戶名是否相同。Set rs = Conn.Execute(sql)執(zhí)行 SQL 語(yǔ)句。如果 rs.EOF Then指針指向最后一個(gè)位置,沒(méi)有找到一致的字段,則無(wú)法修改。Response.Write 您沒(méi)有修改權(quán)限!文件ResetPwd.asp完成密碼修改功能
38、,實(shí)現(xiàn)過(guò)程如下。獲取密碼。UserId= request.queryString(userid)獲取用戶名。oldpwd= trim(Request.form(oldpwd)獲取表單中輸入的密碼。檢查輸入密碼newpwd=trim(Request.form(newpwd)獲取新密碼。If newpwd= Then result=result&.用戶密碼不能為空! 新密碼不能為空。confirmpwd=trim(Request.form(confirmpwd)獲取輸入的確認(rèn)密碼。If confirmpwdnewpwd Then result=result&.兩次輸入的密碼不同!檢查確認(rèn)密碼是否與
39、輸入的新密碼相同。更新密碼Conn.Execute(Update users set PWD=&newpwd& where UserId=&UserId&)更新users表中的密碼,條件是只更新獲取到的用戶名。Session(userid) = UserId使用此時(shí)獲取的用戶名來(lái)更新保存在Session中的用戶名。Session(Password) = newpwd使用此時(shí)獲取的密碼更新保存在Session中的密碼。3.購(gòu)物車界面購(gòu)物車是用戶已選擇但未付款的商品。用戶選擇的產(chǎn)品存儲(chǔ)在shop_list表中,User字段是保存該產(chǎn)品購(gòu)買的用戶,check字段是產(chǎn)品是否售出的信息。因此,通過(guò)查詢表
40、中User字段為當(dāng)前用戶,字段Check0(0表示沒(méi)有交易)的記錄,可以知道用戶購(gòu)買的產(chǎn)品。購(gòu)物車界面如圖5.6所示:圖 5.6 購(gòu)物車界面查詢用戶選擇的項(xiàng)目。這些項(xiàng)目存儲(chǔ)在 shop_list 表中,ShopCheck 字段的值為“0”。Sql=SELECT ID,User,ShopName,Cost,Num,TotalCost,Discount,Time,ShopCheck,OrderNumber FROM shop_list WHERE ShopCheck=0 and user= & Session(userid) & 列出必填字段顯示,查詢用戶選擇的產(chǎn)品。set rs=Conn.Exe
41、cute(Sql)執(zhí)行 SQL 語(yǔ)句。確定所選項(xiàng)目是否存在。如果查詢結(jié)果為空,則用戶沒(méi)有要購(gòu)買的商品。如果是rs.EOF,如果指針知道最后的位置,仍然找不到符合要求的記錄,會(huì)提示購(gòu)物車中沒(méi)有商品Response.Write Cart has no items! & _產(chǎn)品類型 顯示表格的標(biāo)題。購(gòu)物車界面使用字段名稱作為表格的標(biāo)題。For I = 0 To rs.Fields.Count 1列出所有字段名稱,字段編號(hào)和名稱存儲(chǔ)在 Fields 字段中。如果 rs.Fields(I).NameID則不顯示 ID 字段以確保安全Response.Write & rs.Fields(I).Name &
42、 以防萬(wàn)一下一個(gè)Response.Write 刪除(4) 顯示購(gòu)物車商品信息的代碼如下:For I = 0 To rs.Fields.Count 1列出所有字段名稱,字段編號(hào)和名稱存儲(chǔ)在 Fields 字段中。如果 rs.Fields(I).Name=ShopCheck 則當(dāng)字段名稱為 shopcheck 時(shí)。如果 rs.Fields(I).Value=1 則當(dāng) shopcheck=1 時(shí),訂單已被處理。data = data & 訂單處理ElseIf rs.Fields(I).Value=0 那么當(dāng) shopcheck=0 時(shí),訂單正在處理中。Data = Data & 訂單處理以防萬(wàn)一El
43、seIf rs.Fields(I).NameID Then為了安全起見(jiàn),不顯示 ID 字段。數(shù)據(jù) = 數(shù)據(jù) & & rs.Fields(I).Value & 以防萬(wàn)一下一個(gè)Response.WriteDataResponse.Write Delete delete.asp,傳ID場(chǎng)信息。Total = Total + rs(TotalCost)*0.8總價(jià)優(yōu)惠 20%。開(kāi)始用戶登錄購(gòu)物車致信息購(gòu)物確認(rèn)購(gòu)物完成NY致購(gòu)買數(shù)量,總價(jià)格,與折扣等信息NN商品瀏覽購(gòu)買商品在線支付YYNYY圖 5.7 產(chǎn)品瀏覽與采購(gòu)模塊程序流程圖5.3.5產(chǎn)品查詢界面簡(jiǎn)單的產(chǎn)品搜索按產(chǎn)品類別和名稱搜索所有符合條件的產(chǎn)品
44、。并為用戶顯示查詢結(jié)果的詳細(xì)信息和簡(jiǎn)要信息,界面如圖5.8所示圖 5.8 簡(jiǎn)單查詢界面顯示的詳細(xì)信息和簡(jiǎn)要信息分別如圖 5.9 和圖 5.10 所示。圖 5.9 詳情界面圖 5.10 簡(jiǎn)要信息界面首頁(yè)設(shè)置了簡(jiǎn)單的查詢界面,方便用戶查詢。界面主要包括產(chǎn)品類型和產(chǎn)品名稱。通過(guò) GoodsType 表獲取產(chǎn)品類別,實(shí)現(xiàn)代碼如下:sql = Select * From GoodsType設(shè)置查詢商品類別信息的SQL語(yǔ)句。設(shè)置 rs=Conn.Execute(Sql)如果不是rs.Eof,判斷是否有產(chǎn)品,如果存在,將產(chǎn)品添加到下拉列表框中。做而不是rs。 Eofoption value=在下拉列表框中顯
45、示項(xiàng)目類型選項(xiàng)。簡(jiǎn)單查詢功能主要由Search.asp實(shí)現(xiàn),實(shí)現(xiàn)過(guò)程如下。獲取查詢條件。生成查詢條件。typeid= Trim(Request(typeid)獲取項(xiàng)目類型號(hào)。if typeid=如果項(xiàng)目類型號(hào)為空,則顯示所有項(xiàng)目信息。typeid=全部以防萬(wàn)一如果typeidall,如果商品類型不是所有類型,則查詢指定的商品序列號(hào)。SearchSql = SearchSql& and TypeId like & typeid&%以防萬(wàn)一gname = Trim(Request(name)獲取要查詢的產(chǎn)品名稱。如果 Not(isNull(gname) 或 Len(gname)=0) Then不為
46、空,則在數(shù)據(jù)庫(kù)中查詢與輸入字段相同的產(chǎn)品名稱。SearchSql = SearchSql & 和 Name Like % & gname & %以防萬(wàn)一執(zhí)行查詢。顯示產(chǎn)品信息。Set rs= Conn.Execute(Sql)顯示頁(yè)面中的所有記錄。For i=1 to nPageSize如果當(dāng)前頁(yè)為最后一頁(yè),則本頁(yè)顯示的記錄數(shù)可能少于指定的記錄數(shù),因此應(yīng)在當(dāng)前記錄為最后一條記錄時(shí)終止顯示。If rs.EOF Then Exit For如果 i=1 則 nCurseStart=rs.Fields(ID)nCurseEnd=rs.Fields(ID)a href=GoodsView.asp?id=
47、元5.3.6信息統(tǒng)計(jì)電子商城系統(tǒng)提供兩種信息統(tǒng)計(jì)方式,即銷售統(tǒng)計(jì)和瀏覽統(tǒng)計(jì)。通過(guò)這兩種方式,用戶可以方便地查看各種商品的銷售和瀏覽情況,引導(dǎo)其購(gòu)買行為。銷售排名按照購(gòu)買的商品數(shù)量降序排列,即購(gòu)買多的商品排在最前面,購(gòu)買少的商品排在后面。產(chǎn)品存儲(chǔ)在產(chǎn)品表中,其中BuyConut字段存儲(chǔ)產(chǎn)品的銷售數(shù)量,通過(guò)查詢?cè)撟侄蔚闹但@得銷售排行榜。實(shí)現(xiàn)代碼如下:sql = Select ID,Name,BuyCount as ShopCount,Sn_Number From Goods order by BuyCount DESC從商品表中查詢商品的排名,按照采購(gòu)數(shù)量從大到小排列。set rs=Conn.Ex
48、ecute(sql)執(zhí)行 sql 語(yǔ)句。如果不是rs.Bof或者rs.Eof,當(dāng)指針不知道第一行或者最后一行的時(shí)候,找一條滿足條件的記錄,然后輸出產(chǎn)品信息:ahref=./GoodsView.asp?id=rs.movenext循環(huán)輸出。戒指以防萬(wàn)一以下排名按產(chǎn)品瀏覽量的降序排列。實(shí)現(xiàn)方式與銷量排名相同,但查詢語(yǔ)句不同。跟隨排行榜的查詢SQL語(yǔ)句如下:sql = Select ID,Name,ReadCount as ShopCount,Sn_Number From Goods order by ReadCount DESC5.3.7瀏覽和購(gòu)買商品瀏覽產(chǎn)品會(huì)顯示有關(guān)產(chǎn)品的信息,以方便用戶購(gòu)買產(chǎn)
49、品。電子商城系統(tǒng)提供購(gòu)物車在線支付功能,用戶可以輕松在線購(gòu)買商品。點(diǎn)擊產(chǎn)品的按鈕,顯示產(chǎn)品的詳細(xì)信息,包括用戶對(duì)產(chǎn)品的投訴和問(wèn)題的解決方法,如圖5.11所示圖 5.11 產(chǎn)品詳情界面實(shí)現(xiàn)商品瀏覽功能的文件是GoodsView.asp。顯示產(chǎn)品界面的流程如下:獲取產(chǎn)品序列號(hào)并連接數(shù)據(jù)庫(kù)。ShopID = Request.QueryString( ShopID )獲取產(chǎn)品序列號(hào)。查詢產(chǎn)品是否存在,如果不存在,結(jié)束。sql = Select * From Goods where goodscheck=true and ShopID = &Cint( ShopID )從商品表中查詢商品進(jìn)行校驗(yàn),Sho
50、pID為(1)中得到的ShopID值。Set rsGoods = conn.Execute(sql)執(zhí)行 SQL 語(yǔ)句。如果rsGoods.Eof Then指針知道最后一條記錄,仍然找不到合格的產(chǎn)品,說(shuō)明沒(méi)有產(chǎn)品信息。Response.Write 沒(méi)有關(guān)于這個(gè)項(xiàng)目的信息更新項(xiàng)目的查看次數(shù)。sql = Update Goods Set ReadCount=ReadCount+1 where ShopID =&Cint( ShopID )更新product表中產(chǎn)品的瀏覽量,瀏覽量加1,只對(duì)應(yīng)獲取到的產(chǎn)品序列號(hào)。conn.Execute(sql)顯示項(xiàng)目類型。sql = SELECT * FROM
51、GoodsType WHERE Type= & rsGoods(typeid)&設(shè)置 rs=Conn.Execute(sql)如果不是rs.EOF 那么Response.Write(rs(name)(5) 展示產(chǎn)品圖片。 G oods 表的ImgaeFile 字段存儲(chǔ)圖片的相對(duì)路徑和名稱,e-mall 系統(tǒng)將上傳的產(chǎn)品圖片保存在images 文件夾中。所以獲取Images字段的值來(lái)獲取產(chǎn)品圖片的路徑和名稱。如果不是iname=,則圖片名稱不為空,顯示圖片信息。img src=/images width= 90”border=0(6) 顯示有關(guān)產(chǎn)品的附加信息。產(chǎn)品名稱顯示在記錄集中獲得的產(chǎn)品名稱
52、,其他信息以此類推。(7) 圖片的顯示順序。a href=Goods/CATALOG.asp?id=把ID 值被傳遞到網(wǎng)頁(yè)。點(diǎn)擊商品按鈕,進(jìn)入購(gòu)買商品界面,如圖5.12所示圖 5.12 購(gòu)買產(chǎn)品界面購(gòu)買界面顯示用戶購(gòu)買的商品信息,用戶需要輸入數(shù)量,所以需要獲取購(gòu)買商品的信息。(1) 獲取用戶ID和產(chǎn)品編號(hào)。User=Session(userId)獲取用戶 ID。goodid=Request.QueryString(id)獲取項(xiàng)目編號(hào)。(2)查詢產(chǎn)品信息。Sql= SELECT ID,Name,Sn_Number,Producer,SalePrice,Discount,Content FROM
53、Goods where goodscheck=true and ID=&Cint(goodsid)(3) 顯示表格標(biāo)題信息。對(duì)于 I = 0 到 rs.Fields.Count - 1Response.Write & rs.Fields(I).Name & 讀取數(shù)據(jù)表的字段名作為表的標(biāo)題。Response.Write 輸出表格內(nèi)容。購(gòu)買產(chǎn)品后,需要將用戶名、產(chǎn)品序列號(hào)、購(gòu)買數(shù)量、產(chǎn)品價(jià)格、購(gòu)買總價(jià)、訂單號(hào)放入購(gòu)物車。 Addtocar.asp 文件實(shí)現(xiàn)了添加汽車購(gòu)買的接口。實(shí)施過(guò)程如下:(1)獲取采購(gòu)參數(shù),計(jì)算總價(jià)。GoodsId = Request(shopId)獲取產(chǎn)品序列號(hào)。Num =
54、Cint(Request(Quantity)獲取采購(gòu)數(shù)量。name= Request(shopname)獲取商品名稱。SalePrice = Request(saleprice)獲取銷售價(jià)格。subTotal = SalePrice * Num 計(jì)算金額 = 價(jià)格 * 數(shù)量。userid = Session(userid)獲取用戶ID。(2)判斷用戶是否購(gòu)買了產(chǎn)品。系統(tǒng)不允許重新購(gòu)買購(gòu)物車中的物品。如果用戶需要再次購(gòu)買該商品,則需要?jiǎng)h除購(gòu)物車中已經(jīng)購(gòu)買的商品,然后再次購(gòu)買該商品。判斷用戶是否購(gòu)買商品的代碼如下:Sql=Select ID from shop_list where ShopChe
55、ck=0 and shopID=&GoodsID從 shop_list 表中查找正在處理的訂單if rs.EOF=False then如果找到該訂單正在處理的商品,則交易未完成Response.write(商品已購(gòu)買,但交易不成功!請(qǐng)刪除原商品重新購(gòu)買!)(3) 添加訂單。用戶的采購(gòu)訂單存放在shop_list表中,添加訂單的代碼如下:Sql=Insert shop_list(User,ShopName,shopID,Cost,Num,TotalCost,Time,OrderNumber)&_values(&Session(UserName )&,&name&,&GoodsId&,&SaleP
56、rice&,&Num&,&subTotal&,&Now()&_,&MakeOrderNumber(GoodsId)&)點(diǎn)擊在線支付,顯示確認(rèn)訂單信息界面,如圖5.13所示圖 5.13 確認(rèn)訂單信息界面Order.asp文件實(shí)現(xiàn)了填寫收貨人信息的接口。過(guò)程如下:(1) 計(jì)算所有訂單的總價(jià)和商品名稱。Sql= SELECT * FROM shop_list WHERE user= & Session(userid) & 設(shè)置 rs=Conn.Execute(Sql)昏暗的名字如果不是rs.EOF 那么總計(jì) = 0Name=Name&rs(店鋪名稱)&,總計(jì) = 總計(jì) + rs(TotalCost)
57、*0.8(2) 獲取用戶、地址和聯(lián)系人。sql=select UserName,Address,Telephone from Users where UserID=&Session(userid)&從users表中查詢保存會(huì)話的用戶、地址和聯(lián)系人。如果不是rsaddress.EOF,找到相關(guān)用戶的地址,聯(lián)系方式,顯示出來(lái)。 地址=rsaddress(“地址”) 用戶名=rsaddress(用戶名) 電話 = rsaddress(電話)(3)顯示用戶信息。Response.write() 訂單信息產(chǎn)品名稱:付款:元收貨地址*: input type=text name=address size=
58、20 value= 聯(lián)系方式和收貨地址代碼同上。在確認(rèn)訂單信息界面點(diǎn)擊提交按鈕,進(jìn)入網(wǎng)上銀行網(wǎng)上支付界面。用戶支付后,如果支付狀態(tài)為20,則表示支付成功,商品庫(kù)存更新;否則,支付失敗或有問(wèn)題。 AutoReceive.asp文件只處理20的支付狀態(tài)。代碼如下:如果 v_pstatus= ”20”那么如果v_amount=Session( total ),那么如果用戶支付的金額等于總價(jià),說(shuō)明交易成功,會(huì)更新所有訂單的支付金額,支付的金額等于產(chǎn)品的總價(jià)。S ql= ” update shop_list set YIFUKUAN=TotalCost where check= ” 1”and User
59、= ” &Session( “ userid ” )& ”sql= ” select num from shop_list check= ” 1”and User= ” &Session( “ userid ” )& ”獲取購(gòu)買數(shù)量。= 更新商品集Inventory=Inventory-num wheregoodscheck= ” and 1”ShopID= ” &Session( “ ShopID ” )& ”商品庫(kù)存減去成功購(gòu)買數(shù)量即為當(dāng)前庫(kù)存數(shù)量。5.3.8管理界面在用戶管理中心界面進(jìn)入管理界面,如圖5.14圖 5.14 管理界面在本系統(tǒng)中,只有系統(tǒng)管理員和普通管理員才能進(jìn)入管理界面時(shí),
60、需要確定用戶的權(quán)限。在其他文件中,也需要判斷當(dāng)前用戶是否為管理員,方便將判斷當(dāng)前用戶是否為管理員的操作放入函數(shù)中。在介紹管理界面菜單之前,先介紹一下相關(guān)功能。IsAdmin(User)函數(shù)判斷當(dāng)前用戶是否為系統(tǒng)管理員:是,返回True;不,它返回 False。 IsUser(User)函數(shù)判斷當(dāng)前用戶是否為普通管理員:是,返回True;不,它返回 False。這兩個(gè)功能都過(guò)濾特殊字符以防止非法用戶的攻擊。 Dochar(User) 函數(shù)的作用是過(guò)濾特殊字符。這些函數(shù)保存在function.asp 文件中,在使用這些函數(shù)之前需要包含該文件。包含的代碼如下:Dochar(User)函數(shù)可以根據(jù)需要
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第三人稱單數(shù)形式的辨別與應(yīng)用:小學(xué)英語(yǔ)教案
- 我的老師敬愛(ài)的語(yǔ)文老師演講稿10篇
- 供應(yīng)鏈管理與物流合作協(xié)議規(guī)定事項(xiàng)表
- 食品營(yíng)養(yǎng)學(xué)專業(yè)知識(shí)問(wèn)答練習(xí)集
- 綠色發(fā)展理念對(duì)產(chǎn)業(yè)提質(zhì)增效的影響
- 銀行業(yè)風(fēng)險(xiǎn)管理測(cè)試卷
- 技術(shù)進(jìn)步對(duì)高素質(zhì)應(yīng)用型人才培養(yǎng)的影響分析
- 教育用品類型及價(jià)格列表
- 跨學(xué)科合作促進(jìn)地理學(xué)實(shí)踐教學(xué)的多元化
- 智能倉(cāng)儲(chǔ)物流解決協(xié)議
- 動(dòng)畫制作與電影特效課件
- 四川省安全員《B證》考試題庫(kù)及答案
- 單值-移動(dòng)極差X-MR控制圖-模板
- 江蘇省戲劇學(xué)校輔導(dǎo)員招聘考試真題2022
- 軍隊(duì)保密協(xié)議書模板(標(biāo)準(zhǔn)版)
- Python語(yǔ)言編程基礎(chǔ)PPT完整全套教學(xué)課件
- 2023年杭州中考科學(xué)(word版及詳細(xì)答案)
- 安徽諾全藥業(yè)有限公司年產(chǎn)105噸醫(yī)藥中間體及原料藥項(xiàng)目環(huán)境影響報(bào)告書
- 2022年鹽城市大豐區(qū)事業(yè)單位考試真題及答案
- 2017年福州市初中畢業(yè)班質(zhì)量檢測(cè)英語(yǔ)試卷及答案
- 性科學(xué)與生殖健康智慧樹知到答案章節(jié)測(cè)試2023年武漢科技大學(xué)
評(píng)論
0/150
提交評(píng)論