📄 search.asp
字号:
<!--#include file="Head.asp"-->
<div id="bodyer_page">
<div id="mainSidebar">
<div class="subject">
<div class="subject_name"><img src="Images/subject_menu.gif"/></div>
<div class="pageMenu"><%=pageMenu(0,0,2)%></div>
</div>
<div class="subject">
<div class="subject_name"><img src="Images/subject_search.gif"/></div>
<div class="search"><%=Search()%></div>
</div>
</div>
<div id="pageBody">
<div class="pageLocation"><%=pageLocation()%></div>
<div class="pageContent"><%=pageContent(trim(request("Keyword")),request("Range"))%></div>
</div>
</div>
<%
function pageMenu(ParentID,i,level)
if request("Range")="Void" then
response.write "暂无相关信息"
exit function
end if
dim rs,sql
set rs = server.createobject("adodb.recordset")
sql="select * from "&request("Range")&"Sort where ViewFlag"&Language&" and ParentID="&ParentID&" order by ID asc"
rs.open sql,conn,1,1
if conn.execute("select ID from "&request("Range")&"Sort Where ViewFlag"&Language&" and ParentID=0").eof then
response.write "暂无相关信息"
else
do while not rs.eof
if ParentID=0 then
response.write "<img src=""Images/arrow_05.gif""> <a href="""&request("Range")&"List.asp?SortID="&rs("ID")&""">"&rs("SortName"&Language)&"</a><br/>"
else
if i=1 then
response.write "<img src=""Images/arrow_06.gif"" style=""margin-left:"&i*20&"px;""> <a href="""&request("Range")&"List.asp?ISortID="&rs("ID")&""">"&rs("SortName"&Language)&"</a><br/>"
else
response.write "<img src=""Images/arrow_06.gif"" style=""margin-left:"&i*18&"px;""> <a href="""&request("Range")&"List.asp?SortID="&rs("ID")&""">"&rs("SortName"&Language)&"</a><br/>"
end if
end if
i=i+1
if i<level then call pageMenu(rs("ID"),i,level)
i=i-1
rs.movenext
loop
end if
rs.close
set rs=nothing
end function
function pageLocation()
pageLocation="<a href=""main.asp"">首页</a>" & _
"<img src=""Images/arrow_07.gif"" />搜索"
if request("Range")="Void" then
pageLocation=pageLocation&"<img src=""Images/arrow_07.gif"" />未指定范围"
exit function
elseif request("Range")="Product" then
pageLocation=pageLocation&"产品<img src=""Images/arrow_07.gif"" />关键字[<font color=""red"">"&trim(request("Keyword"))&"</font>]"
elseif request("Range")="News" then
pageLocation=pageLocation&"新闻<img src=""Images/arrow_07.gif"" />关键字[<font color=""red"">"&trim(request("Keyword"))&"</font>]"
elseif request("Range")="Down" then
pageLocation=pageLocation&"下载<img src=""Images/arrow_07.gif"" />关键字[<font color=""red"">"&trim(request("Keyword"))&"</font>]"
elseif request("Range")="Others" then
pageLocation=pageLocation&"其他<img src=""Images/arrow_07.gif"" />关键字[<font color=""red"">"&trim(request("Keyword"))&"</font>]"
end if
end function
function pageContent(Keyword,Range)
if Range="Void" then
response.write "<div class=""pageContent_list"">错误:未指定需要搜索的范围</div>"
exit function
end if
dim idCount'记录总数
dim pages'每页条数
pages=20
dim pagec'总页数
dim page'页码
page=clng(request("Page"))
dim pagenc'每页显示的分页页码数量=pagenc*5+1
pagenc=3
dim pagenmax'每页显示的分页的最大页码
dim pagenmin'每页显示的分页的最小页码
dim pageprevious'上一相邻的页码
dim pagenext '下一相邻的页码
dim datafrom'数据表名
dim datawhere'数据条件
select case Range
case "Product"
datafrom="Products"
datawhere="where ViewFlag"&Language&" and ProductName"&Language&" like '%"&KeyWord&"%'"
case "News"
datafrom="News"
datawhere="where ViewFlag"&Language&" and NewsName"&Language&" like '%"&KeyWord&"%'"
case "Down"
datafrom="Download"
datawhere="where ViewFlag"&Language&" and DownName"&Language&" like '%"&KeyWord&"%'"
case "Others"
datafrom="Others"
datawhere="where ViewFlag"&Language&" and OthersName"&Language&" like '%"&KeyWord&"%'"
end select
dim sqlid'本页需要用到的id
dim Myself,PATH_INFO,QUERY_STRING'本页地址和参数
PATH_INFO = request.servervariables("PATH_INFO")
QUERY_STRING = request.ServerVariables("QUERY_STRING")'
if QUERY_STRING = "" then
Myself = PATH_INFO & "?Keyword="&KeyWord&"&Range="&Range&"&"
elseif Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")=0 then
Myself= PATH_INFO & "?" & QUERY_STRING & "&"
else
Myself = Left(PATH_INFO & "?" & QUERY_STRING,Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")-1)
end if
dim taxis'排序的语句 asc,desc
taxis="order by id desc "
dim i'用于循环的整数
'获取记录总数
dim rs,sql
set rs = server.createobject("adodb.recordset")
sql="select count(ID) as idCount from ["& datafrom &"]" & datawhere
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
idCount=rs("idCount")
'获取记录总数
if(idcount>0) then'如果记录总数=0,则不处理
if(idcount mod pages=0)then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1
pagec=int(idcount/pages)'获取总页数
else
pagec=int(idcount/pages)+1'获取总页数
end if
'获取本页需要用到的id============================================
'读取所有记录的id数值,因为只有id所以速度很快
sql="select id from ["& datafrom &"] " & datawhere & taxis
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
rs.pagesize = pages '每页显示记录数
if page < 1 then page = 1
if page > pagec then page = pagec
if pagec > 0 then rs.absolutepage = page
for i=1 to rs.pagesize
if rs.eof then exit for
if(i=1)then
sqlid=rs("id")
else
sqlid=sqlid &","&rs("id")
end if
rs.movenext
next
'获取本页需要用到的id结束============================================
end if
if(idcount>0 and sqlid<>"") then'如果记录总数=0,则不处理
'用in刷选本页所语言的数据,仅读取本页所需的数据,所以速度快
sql="select * from ["& datafrom &"] where id in("& sqlid &") "&taxis
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,0,1
response.write "<div class=""pageContent_list"">"
while not rs.eof '填充数据到表格
select case Range
case "Product"
response.write "<img src=""Images/arrow_01.gif""><a href=""ProductView.asp?ID="&rs("ID")&""">"&rs("ProductName"&Language)&"</a> ["&rs("ProductNo")&"] <span class=""time"">"&FormatDate(rs("UpdateTime"),13)&"</span><br />"
case "News"
response.write "<img src=""Images/arrow_01.gif""><a href=""NewsView.asp?ID="&rs("ID")&""">"&rs("NewsName"&Language)&"</a> <span class=""time"">"&FormatDate(rs("Addtime"),13)&"</span><br />"
case "Down"
response.write "<img src=""Images/arrow_01.gif""><a href=""DownView.asp?ID="&rs("ID")&""">"&rs("DownName"&Language)&"</a> <span class=""filesize"">"&rs("FileSize")&"</span> <span class=""time"">"&FormatDate(rs("Updatetime"),13)&"</span><br />"
case "Others"
response.write "<img src=""Images/arrow_01.gif""><a href=""OthersView.asp?ID="&rs("ID")&""">"&rs("OthersName"&Language)&"</a> <span class=""time"">"&FormatDate(rs("UpdateTime"),13)&"</span><br />"
end select
rs.movenext
wend
response.write "</div>"
else
response.write "<div class=""pageContent_list"">暂无相关信息</div>"
exit function
end if
response.write "<div class=""pageContent_end"">" & vbCrLf
Response.Write "| 共计:<font color=""#ff6600"">"&idcount&"</font>条记录 页次:<font color=""#ff6600"">"&page&"</font></strong>/"&pagec&" 每页:<font color=""#ff6600"">"&pages&"</font>条 " & vbCrLf
pagenmin=page-pagenc '计算页码开始值
pagenmax=page+pagenc '计算页码结束值
if(pagenmin<1) then pagenmin=1 '如果页码开始值小于1则=1
if(page>1) then response.write ("<a href="""& myself &"Page=1"" title=""跳到第1页""><img src=""Images/arrow_99_first.gif"" width=""9"" height=""8"" /></a> ") '如果页码大于1则显示(第一页)
if page-(pagenc*2+1)<=0 then
pageprevious=1
else
pageprevious=page-(pagenc*2+1)
end if
if(pagenmin>1) then response.write ("<a href="""& myself &"Page="& pageprevious &""" title=""第"& pageprevious &"页""><img src=""Images/arrow_99_Previous.gif"" width=""8"" height=""8"" /></a> ") '如果页码开始值大于1则显示(更前)
if(pagenmax>pagec) then pagenmax=pagec '如果页码结束值大于总页数,则=总页数
for i = pagenmin to pagenmax'循环输出页码
if(i=page) then
response.write (" <font color=""#ff6600"">"& i &"</font> ")
else
response.write ("[<a href="""& myself &"Page="& i &""">"& i &"</a>]")
end if
next
if page+(pagenc*2+1)>=pagec then
pagenext=pagec
else
pagenext=page+(pagenc*2+1)
end if
if(pagenmax<pagec) then response.write (" <a href="""& myself &"Page="& pagenext &""" title=""跳到第"&pagenext&"页""><img src=""Images/arrow_99_next.gif"" width=""8"" height=""8"" /></a> ") '如果页码结束值小于总页数则显示(更后)
if(page<pagec) then response.write (" <a href="""& myself &"Page="& pagec &""" title=""跳到第"&pagec&"页""><img src=""Images/arrow_99_last.gif"" width=""9"" height=""8"" /></a>") '如果页码小于总页数则显示(最后页)
response.write "</div>" & vbCrLf
rs.close
set rs=nothing
end function
%>
<!--#include file="Foot.asp" -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -