shopdisplayproducts.asp

来自「ASP+SQL Server动态网站开发从基础到实践教程」· ASP 代码 · 共 199 行

ASP
199
字号
<%Option Explicit%>
<!--#include file="shop$db.asp"-->
<%
'******************************************************************
' 以表格形式显示商品
' 如果是从查询页面进入该页面,则通过SESSION变量中获得SQL语句
' 否则根据ID和CAT来查询
' id = 目录号
' cat 表示的是目录名
' page=x        ' 当有多页的时候,确定显示哪一页
' search=yes    ' 表示是查询
'               ' 
' ****************************************************************** 
dim search
Dim dbc
Session("CurrentUrl")="shopdisplayproducts"
'打开数据库
ShopOpenDataBase dbc
mypage=request.querystring("page")
mypagesize=10
' 如果页数为空,则表示需要创建SQL语句,否则在SESSION变量中
if mypage= "" then
    mypage=1                    ' 第一次显示第一页
    ProcessFirst                ' 获得输入变量
    CreateSql                   ' 产生SQL
else
   sql=Session("sqlquery")      ' 获得查询SQL语句,存放在SESSION变量中 
end if
ShopPageHeader                  ' 页面头
DisplayProducts                 ' 显示商品 
ShopPageTrailer                 ' 页面尾

'处理第一次进入该页面
Sub ProcessFirst()
'获得目录号
CAT_ID = CInt(Request.QueryString("id"))
'获得目录名
CATEGORY = Request.QueryString ("cat")
If cat_id = "" and CATEGORY = "" Then
    CAT_ID = CInt(Request.form("id"))
    CATEGORY = Request.Form ("cat")
end if
'获得子目录名
SUBCAT=Request.querystring("subcat")
if Subcat="" then
     request.form("Subcat")
end if
end sub
Sub CreateSQL()

'判断是否是查询,查询语句通过SESSION变量来获得
search=Request.querystring("Search")
if search<>"" then
   SQL=Session("SQL")
   exit sub
end if
'否则自己创建SQL语句
Sql = "select * from Products WHERE "
'根据目录号或者目录名来查询
if CAT_ID <> "" then
     sql = sql & " ccategory = " & cat_id
else
     sql = sql & "category LIKE '"& CATEGORY & "%'"
end if
'如果有子目录,则加上子目录查询限制
If Subcat<> "" then
sql = sql & " AND SubcategoryID=" & Subcat
end if
end sub
%>
<%
' 显示商品信息
Sub DisplayProducts()
Dim header
Dim recordcount
dim words
dim wordcount
dim i
dim msg


header="<h3><font face=Arial>"
If category <> "" Then 
     header = header & "目录名:" & Category
else
     header= header & "查询结果"
End If
header = header & "</font></h3>"
response.write header
ShopOpenDatabase dbc
ShopOpenRecordSet SQL,objRS, mypagesize, mypage
if objRS.eof then
     response.write "<b>没有符合条件的查询结果。 </b>"
     If search<>"" then
      wordcount=Session("wordcount")
      words=Session("Words")
       msg= "<br>Searching for " 
       msg=msg & words(0) 
       if wordcount>1 then
          for i = 1 to wordcount-1
           msg = msg & ", " & Words(i)
          next
        end if
        response.write msg
       end if
       exit sub
end if
recordcount=0
ProductFormatHeader
response.write "<font size=2>Page " & mypage & " of " & maxpages & "<br></font>"
While Not objRS.EOF and recordcount < maxrecs
  ProductGetValues (objRS)             ' 获得商品值
  ProductFormatRow
  objRS.MoveNext
  recordcount=recordcount+1
Wend
response.write "</table>"
Call PageNavBar (SQL) 
objRS.Close
set objRS=nothing
ShopCloseDatabase dbc
end sub


Sub ProductFormatRow
'********************************************************************
'格式化输出商品信息
' *******************************************************************
Dim strPrice
mycolor="#CCCCCC"       ' grey

strPrice=FormatCurrency(curCprice,2)
%>
<form action="shopaddtocart.asp" method="POST">
 <tr>
 <tr>
     <td width="20%" valign="top" height="30" bgcolor="<%=mycolor%>"><%=strcname%></td>
     <td width="40%" valign="top" height="30" bgcolor="<%=mycolor%>"><p align="left"><%=memcdescription%>
      <%FormatImage%>
      </td>
      <td width="10%" height="30" bgcolor="<%=mycolor%>">
       <p align="center"><input type="text" size="3" value="1" name="quantity" ></p></td>

      <td width="15%" valign="middle" bgcolor="<%=mycolor%>" height="30"><%=strPrice%></td>
      <%FormatButton%>
      </tr>       
      <input type="hidden" name="productid" value="<%=lngCatalogId%>">
</form>
<%
end sub
'格式化输出图片(如果有图片)和描述信息
Sub FormatImage
If strcImageUrl<>"" then
    if strDescUrl<>"" then
%>
         <p align="center"><a href="<%=strDescURL%>"><img border="0" src="<%=strcimageURL%>" ></a><br>
         <font size="1"><a href="<%=strDescURL%>">更多</a></font></p>

<%
    else
%>
         <p align="center"><img border="0" src="<%=strcimageURL%>" ></p> 
<%
    end if
else
   if strdescUrl<>"" then
%>
         <p align="left"><a href="<%=strDescURL%>">商品其他信息</a></p>         
<%
   end if 
end if
end sub
'
'获得按钮图象,即定购按钮的图象
Sub FormatButton

dim mytext
mytext="Order"
%>
<td width="15%" valign="middle" height="30" bgcolor="<%=mycolor%>"><p align=center>
<%
response.write  "<p align=center><input type=submit value="""  & mytext & """ name=Order></td>"
end sub

'商品输出的表格头
Sub ProductFormatHeader
%>
<center>
    <table border="3" cellpadding="0" cellspacing="0" width="90%" >
    <tr>
      <td width="20%" height="16" align="center" bgcolor="#006699"><b><font size="1" color="#FFFFFF">商品名</font></b></td>
      <td width="40%" height="16" align="center" bgcolor="#006699"><b><font size="1" color="#FFFFFF">商品描述</font></b></td>
      <td width="10%" height="16" align="center" bgcolor="#006699"><b><font size="1" color="#FFFFFF">数量</font></b></td>
      <td width="15%" height="16" align="center" bgcolor="#006699"><b><font size="1" color="#FFFFFF">单价</font></b></td>
      <td width="15%" height="16" align="center" bgcolor="#006699"><b><font size="1" color="#FFFFFF">定购</font></b></td>
    </tr>
<%
end sub
%>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?