中华考试网·阅读新闻
编程开发 > ASP > 文章内容

ASP编程技术:如何实现电子商店

2015-3-2编辑:ljnbset

如何实现电子商店

问题

现在电子商务已经是大家都熟悉的词了,网上购物、网上售票也不再是陌生的词汇。那么如何在ASP中实现简单的网上电子商店呢?

解决思路

在ASP中实现电子商店的功能比较简单,电子商店的所有商品信息存储在一个数据库中,用户可以浏览这些商品的信息,如商品名、价格、简单的介绍等,如果确定购买,程序便将用户选择的商品的信息存入Session对象,即放入购物袋。进一步把各个统计的信息和用户的信息存入数据库并打印出来,即实现了在线交易功能。

下面将简单介绍如何实现网上浏览商品信息并把需要的商品放入购物袋。

具体步骤

1.建立Data.mdb数据库,它包括Category表和Products表,这两个表的数据结构如表12.7,12.8所示。

表12.7  Category表结构

字段名称

数据类型

说明

CategoryID

数字

商品分类序号

Description

文本

商品分类名称

 

表12.8  Products表结构

字段名称

数据类型

说明

CategoryID

数字

商品分类序号

ProductID

文本

商品序号

ProductName

文本

商品名称

Price

数字

商品价格

Description

备注

商品描述

 

2.编写网上电子商店进入购物页面“index.asp”,代码请见光盘代码。

3.编写选购商品的ASP文件“buy.asp”,代码请见光盘代码。

4.编写放入到购物袋的ASP文件“add.asp”,代码如下所示

<%< P>

Next

Session("ProductList") = ProductList

%>

<%=Head%>

<%=Head%>


查看购物袋  退回所有物品

<% ListCategory conn %>

其中“util.asp”文件的代码如下:

<%

Sub ListCategory( conn )

   Set rs = conn.Execute( "Category" )

   While Not rs.EOF

%>&Description=<%=Server.URLEncode(rs("Description"))%>>

<%=rs("Description")%>

 

<%

      rs.MoveNext

   Wend

End Sub

 

Sub PutToShopBag( ProductID, ProductList )

   If Len(ProductList) = 0 Then

      ProductList = "'" & ProductID & "'"

   ElseIf InStr( ProductList, ProductID ) <= 0 Then

      ProductList = ProductList & ", '" & ProductID & "'"

   End If

End Sub

%>

5.编写查看购物袋的ASP文件“check.asp”,代码如下:

<%

Head="以下是您所选购的物品清单"

‘用户选中的商品列表

ProductList = Session("ProductList")

If Len(ProductList) = 0 Then Response.Redirect "Nothing.asp"

‘连接数据库

DbPath = SERVER.MapPath("data.mdb")

Set conn = Server.CreateObject("ADODB.Connection")

conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DbPath

If Request("MySelf") = "Yes" Then

   ProductList = ""

   ‘将选中的商品保存到变量中

Products = Split(Request("ProductID"), ", ")

   For I=0 To UBound(Products)

      PutToShopBag Products(I), ProductList

   Next

   Session("ProductList") = ProductList

End If

 

sql = "Select * From Products"

sql = sql & " Where ProductID In (" & ProductList & ")"

sql = sql & " Order By ProductID"

Set rs = conn.Execute( sql )

%>

<%=Head%>

<%=Head%>

<%

   Sum = 0

   While Not rs.EOF

     Quatity = CInt( Request( "Q_" & rs("ProductID")) )

     If Quatity <= 0 Then

        Quatity = CInt( Session(rs("ProductID")) )

        If Quatity <= 0 Then Quatity = 1

     End If

     Session(rs("ProductID")) = Quatity

     Sum = Sum + CDbl(rs("Price")) * Quatity

%>

 

<%

      rs.MoveNext

   Wend

%>

取消 商品编号 商品名称 单价 数量 总价 商品简介

" Checked>

<%=rs("ProductID")%> <%=rs("ProductName")%> <%=rs("Price")%> "

Value=<%=Quatity%> Size=3>

<%=CDbl(rs("Price"))*Quatity%> <%=rs("Description")%>

总价格=<%=Sum%>


退回所有物品

<% ListCategory conn %>

 

  试一试:本节实例只是实现购物部分,一般用户在确定购物后,还需要填写用户表单(包括用户姓名、联系方式、送货地点和结帐方式等信息),读者可以自己完善这些程序。

ASP编程技术:如何制作留言本
咨询热线:4000-525-585(免长途费)