图5 站内搜索页面设计效果
查询条件输入部分涉及的HTML表单元素如表2所示。
表2 查询条件输入部分涉及的HTML表单元素
名称 类型 含义 重要属性
form1 form 表单 method="post" action="search.asp"
pinpai text 查询品牌关键字 size="15"
xinghao text 查询型号关键字 size="15"
select select 车辆的类别 <option>乘用车</option>
<option>商用车</option>
Submit submit 查询按钮
按类别对指定车辆参数的关键字进行模糊查询,并显示相应查询结果,其代码如下:
<!--#include file=DataBase/conn.asp-->
<%
'取得记录集
selectd=request("select") '获取类别
xinghao=request("xinghao") '获取型号
pinpai=request("pinpai") '获取品牌
if xinghao="" and pinpai="" then '判断接收的值是否都为空
response.Write("<script language=java script>alert('最少输入一个条件');location='java script:history.go(-1)'</script>")
else
select case selectd
case "乘用车"
if xinghao="" then '当型号为空时
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_s where pinpai='"&pinpai&"' "
rs2.open sql2,conn,1,1
elseif pinpai="" then '当品牌为空时
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_s where xinghao='"&xinghao&"'"
rs2.open sql2,conn,1,1
else
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_s where pinpai='"&pinpai&"' and xinghao='"&xinghao&"'"
rs2.open sql2,conn,1,1
end if
case "商用车"
if xinghao="" then '当型号为空时
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_sy where pinpai='"&pinpai&"' "
rs2.open sql2,conn,1,1
elseif pinpai="" then '当品牌为空时
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_sy where xinghao='"&xinghao&"'"
rs2.open sql2,conn,1,1
else '当两个条件都不为空时
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_sy where pinpai='"&pinpai&"' and xinghao='"&xinghao&"'"
rs2.open sql2,conn,1,1
end if
end select
%>
<%
if not rs2.eof then
tel=rs2.recordcount '获取总记录数
rs2.pagesize=5 '每页显示的记录数
maxpage=rs2.pagecount '获取总共的页数
requestpage=clng(request("p")) '获取接收的页码
if requestpage="" or requestpage=0 then ‘当接收页码的值为空或者0时使其等于1
requestpage=1
end if
if requestpage>maxpage then ‘在接收页码的值大于最大页码时,使其等于最大页码
requestpage=maxpage
end if
if not requestpage=1 then
rs2.move (requestpage-1)*rs2.pagesize
end if
for i=1 to rs2.pagesize and not rs2.eof
%>
<table width="90%" border="0" align="center" cellspacing="0" class="dibian">
<tr>
<td width="46%" height="45" rowspan="2" class="bottm"><div align="center">
<%if selectd="商用车" then%><img src="Mangage/<%=rs2("jianjietupian")%>" width="140"
height="105"><% Else %><img src="Mangage/<%=rs2("tupianjianjie")%>" width="140" height="105">
<% End If %></div></td>
<td width="54%" height="18" class="bian">名称:<%=rs2("pinpai")%></td>
</tr>
<tr>
<td valign="top" class="bian"><br>
<%=rs2("wenzijianjie")%></td>
</tr>
<tr>
<td ><div align="center">参考价格:<%=rs2("shoujia")%>(万元)</div></td>
<td class="zuobian" ><div align="right">
<%if selectd="商用车" then%>
<a href="zhantaiopen1.asp?id=<%=rs2("id")%>">详细参数</a>
<% Else %>
<a href="zhantaiopen.asp?id=<%=rs2("id")%>">详细参数</a>
<% End If %>
<a href="java script:" onClick="window.open('ydinggou.asp?name=<%=rs2("pinpai")%>','','width=500,height=600')">在线订购</a></div></td>
</tr>
</table>
<%
Rs2.MoveNext ‘从集合中的当前记录移动到下一记录
if rs2.eof then exit for ‘如果记录集为空那么跳出循环
next
Rs2.Close ‘关闭记录集对象
Set Rs2=Nothing ‘清空记录集
else
response.Write("暂无车辆信息")
end if
%>
</p>
<table width="90%" border="0" align="center">
<tr>
<td align="right"><span class="css">共<%= maxpage %>页 当前页:
<%= requestpage %></span>
<a href="search.asp?p=<%=requestpage-1%>&select=<%=selectd%>&xinghao=<%=xinghao%>&pinpai=<%=pinpai%>">上一页</a>
<a href="search.asp?p=<%=requestpage+1%>&select=<%=selectd%>&xinghao=<%=xinghao%>&pinpai=<%=pinpai%>">下一页</a></td>
</tr>
</table>
站内搜索模块的运行结果如图6所示。
图8 车辆详细参数页面设计效果
1.车辆分类展示页面
乘用车展台、商用车展台和租赁车展台的实现方法比较类似,我们只介绍乘用车展台,商用车和租凭车展台的制作方法都不再赘述。代码如下:
<%
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from tb_Cars_s order by id desc" ‘获得乘用车的记录集
rs2.open sql2,conn,1,1
'每页显示的记录数
shum=5
if not rs2.eof then
tel=rs2.recordcount '总记录数
rs2.pagesize=shum '获取每页显示的记录数
maxpage=rs2.pagecount '获取总共的页数
requestpage=clng(request("p")) '获取接收页码
if requestpage="" or requestpage=0 then '当接收页码的值为空或者0时使其等于1
requestpage=1
end if
if requestpage>maxpage then '在接收页码的值大于最大页码时,使其等于最大页码
requestpage=maxpage
end if
if not requestpage=1 then
rs2.move (requestpage-1)*rs2.pagesize ‘向上或向下移动相应的记录
end if
for i=1 to rs2.pagesize and not rs2.eof
%>
<table width="90%" border="0" align="center" cellspacing="0" class="dibian">
<tr>
<td width="46%" height="45" rowspan="2" class="bottm"><div align="center"><img src="Mangage/<%=rs2("tupianjianjie")%>" width="140" height="105"></div></td>
<td width="54%" height="18" class="bian">名称:<%=rs2("pinpai")%></td>
</tr>
<tr>
<td valign="top" class="bian"><br>
<%=rs2("wenzijianjie")%></td>
</tr>
<tr>
<td ><div align="center">参考价格:<%=rs2("shoujia")%>(万元)</div></td>
<td class="zuobian" ><div align="right"><a href="zhantaiopen.asp?id=<%=rs2("id")%>">详细参数</a> <a href="java script:" onClick="window.open('ydinggou.asp?name=<%=rs2("pinpai")%>','','width=500,height=600')">在线订购</a></div></td>
</tr>
</table>
<%
Rs2.MoveNext '从集合中的当前记录移动到下一记录
if rs2.eof then exit for '如果记录集为空那么跳出循环
next
Rs2.Close '关闭记录集对象
Set Rs2=Nothing '清空记录集
else
response.Write("暂无车辆信息") ‘记录集为空时,显示的信息
end if
%>
</p> <table width="90%" border="0" align="center">