ASP编程技术:如何实现电子商店
如何实现电子商店
问题
现在电子商务已经是大家都熟悉的词了,网上购物、网上售票也不再是陌生的词汇。那么如何在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%>
<% 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%>
<% ListCategory conn %>
试一试:本节实例只是实现购物部分,一般用户在确定购物后,还需要填写用户表单(包括用户姓名、联系方式、送货地点和结帐方式等信息),读者可以自己完善这些程序。