search.cs
上传用户:dbstep
上传日期:2022-08-06
资源大小:2803k
文件大小:8k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

ASP/ASPX

  1. <%
  2. Function WebLocation()
  3.   dim Keyword,Range,RangeText
  4.   Keyword=trim(request.form("Keyword"))
  5.   Range=trim(request.form("Range"))
  6.   if Range="" and Keyword="" then
  7.     Keyword=trim(request.QueryString("Keyword"))
  8. Range=trim(request.QueryString("Range"))
  9.   end if
  10.   if Range="Void" then
  11. response.write "<script language='javascript'>alert('请选择搜索范围');history.back(-1);</script>"
  12.     response.end
  13.   end if
  14.   if Range="Products" then
  15.     RangeText="搜索产品"
  16.   elseif Range="News" then
  17.     RangeText="搜索新闻"
  18.   elseif Range="Download" then
  19.     RangeText="搜索下载"
  20.   elseif Range="Others" then
  21.     RangeText="搜索大邑"
  22.   end if
  23.   WebLocation=RangeText&"<img src='../img/Arrow_02.gif' align='absmiddle'>关键字[<font color='red'>"&Keyword&"</font>]"
  24. End Function
  25. function ContentList()
  26.   dim Keyword,Range
  27.       Keyword=trim(request.form("Keyword"))
  28.   Range=trim(request.form("Range"))
  29.   if Range="" and Keyword="" then
  30.          Keyword=trim(request.QueryString("Keyword"))
  31.      Range=trim(request.QueryString("Range"))
  32.   end if  
  33.   dim idCount'记录总数
  34.   dim pages'每页条数
  35.       pages=10
  36.   dim pagec'总页数
  37.   dim page'页码
  38.       page=clng(request("Page"))
  39.   dim pagenc'每页显示的分页页码数量=pagenc*2+1
  40.       pagenc=2
  41.   dim pagenmax'每页显示的分页的最大页码
  42.   dim pagenmin'每页显示的分页的最小页码
  43.   dim datafrom'数据表名
  44.   dim datawhere'数据条件
  45.      select case Range
  46.   case "Products"
  47.         datafrom="sk_Products"
  48.         datawhere="where ViewFlag and ProductName like '%"&KeyWord&"%'"
  49.   case "News"
  50.         datafrom="sk_News"
  51.         datawhere="where ViewFlag and NewsName like '%"&KeyWord&"%'"
  52.   case "Download"
  53.         datafrom="sk_Download"
  54.         datawhere="where ViewFlag and DownName like '%"&KeyWord&"%'"
  55.   case "Others"
  56.         datafrom="sk_Others"
  57.         datawhere="where ViewFlag and OthersName like '%"&KeyWord&"%'"
  58.       end select
  59.   dim sqlid'本页需要用到的id
  60.   dim Myself,PATH_INFO,QUERY_STRING'本页地址和参数
  61.       PATH_INFO = request.servervariables("PATH_INFO")
  62.   QUERY_STRING = request.ServerVariables("QUERY_STRING")'
  63.       if QUERY_STRING = "" then
  64.     Myself = PATH_INFO & "?"
  65.   elseif Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")=0 then
  66.     Myself= PATH_INFO & "?" & QUERY_STRING & "&"
  67.   else
  68.     Myself = Left(PATH_INFO & "?" & QUERY_STRING,Instr(PATH_INFO & "?" & QUERY_STRING,"Page=")-1)
  69.   end if
  70.   dim taxis'排序的语句 asc,desc
  71.       taxis="order by id desc "
  72.   dim i'用于循环的整数
  73.   dim rs,sql'sql语句
  74.   '获取记录总数
  75.   sql="select count(ID) as idCount from ["& datafrom &"]" & datawhere
  76.   set rs=server.createobject("adodb.recordset")
  77.   rs.open sql,conn,0,1
  78.   idCount=rs("idCount")
  79.   '获取记录总数
  80.   if(idcount>0) then'如果记录总数=0,则不处理
  81.     if(idcount mod pages=0)then'如果记录总数除以每页条数有余数,则=记录总数/每页条数+1
  82.   pagec=int(idcount/pages)'获取总页数
  83.     else
  84.       pagec=int(idcount/pages)+1'获取总页数
  85.     end if
  86. '获取本页需要用到的id============================================
  87.     '读取所有记录的id数值,因为只有id所以速度很快
  88.     sql="select id from ["& datafrom &"] " & datawhere & taxis
  89.     set rs=server.createobject("adodb.recordset")
  90.     rs.open sql,conn,1,1
  91.     rs.pagesize = pages '每页显示记录数
  92.     if page < 1 then page = 1
  93.     if page > pagec then page = pagec
  94.     if pagec > 0 then rs.absolutepage = page  
  95.     for i=1 to rs.pagesize
  96.   if rs.eof then exit for  
  97.   if(i=1)then
  98.     sqlid=rs("id")
  99.   else
  100.     sqlid=sqlid &","&rs("id")
  101.   end if
  102.   rs.movenext
  103.     next
  104.   '获取本页需要用到的id结束============================================
  105.   end if
  106.   Response.Write "<table width='100%' border='0' cellspacing='0' cellpadding='0'>"
  107.   if(idcount>0 and sqlid<>"") then'如果记录总数=0,则不处理
  108.     '用in刷选本页所语言的数据,仅读取本页所需的数据,所以速度快
  109.     sql="select * from ["& datafrom &"] where id in("& sqlid &") "&taxis
  110.     set rs=server.createobject("adodb.recordset")
  111.     rs.open sql,conn,0,1
  112.     while not rs.eof '填充数据到表格
  113.   Response.Write "<tr>" & vbCrLf
  114.      select case Range
  115.   case "Products"
  116.         Response.Write "<td width='504' class='ListTitle'><FONT style='FONT-SIZE: 10px; COLOR: #61A5DC; FONT-FAMILY: Webdings'>4</FONT>&nbsp;<a href='ProductView.asp?ID="&rs("ID")&"&SortID="&rs("SortID")&"'>"&rs("ProductName")&"</a></td>" & vbCrLf
  117.   case "News"
  118.         Response.Write "<td width='504' class='ListTitle'><FONT style='FONT-SIZE: 10px; COLOR: #61A5DC; FONT-FAMILY: Webdings'>4</FONT>&nbsp;<a href='NewsView.asp?ID="&rs("ID")&"&SortID="&rs("SortID")&"'>"&rs("NewsName")&"</a></td>" & vbCrLf
  119.   case "Download"
  120.         Response.Write "<td width='504' class='ListTitle'><FONT style='FONT-SIZE: 10px; COLOR: #61A5DC; FONT-FAMILY: Webdings'>4</FONT>&nbsp;<a href='DownloadView.asp?ID="&rs("ID")&"&SortID="&rs("SortID")&"'>"&rs("DownName")&"</a></td>" & vbCrLf
  121.   case "Others"
  122.         Response.Write "<td width='504' class='ListTitle'><FONT style='FONT-SIZE: 10px; COLOR: #61A5DC; FONT-FAMILY: Webdings'>4</FONT>&nbsp;<a href='OtherView.asp?ID="&rs("ID")&"&SortID="&rs("SortID")&"'>"&rs("OthersName")&"</a></td>" & vbCrLf
  123.       end select
  124.       Response.Write "<td width='90' class='ListTitle'>"&rs("AddTime")&"</td>" & vbCrLf
  125.       Response.Write "</tr>" & vbCrLf
  126.   rs.movenext
  127.     wend
  128.   else
  129.     response.write "<tr><td align='center'>暂无相关信息</td></tr></table>"
  130. exit function
  131.   end if
  132.   Response.Write "<tr>" & vbCrLf
  133.   Response.Write "<td colspan='2' align='right'>" & vbCrLf
  134.   Response.Write "共计:<font color='#ff6600'>"&idcount&"</font>条记录&nbsp;页次:<font color='#ff6600'>"&page&"</font></strong>/"&pagec&"&nbsp;每页:<font color='#ff6600'>"&pages&"</font>条&nbsp;&nbsp;&nbsp;&nbsp;" & vbCrLf
  135.   pagenmin=page-pagenc '计算页码开始值
  136.   pagenmax=page+pagenc '计算页码结束值
  137.   if(pagenmin<1) then pagenmin=1 '如果页码开始值小于1则=1
  138.   if(page>1) then response.write ("<a href='"& myself &"Page=1&Range="&Range&"&Keyword="&server.urlencode(Keyword)&"'><font style='FONT-SIZE: 14px; FONT-FAMILY: Webdings'>9</font></a>&nbsp;") '如果页码大于1则显示(第一页)
  139.   if(pagenmin>1) then response.write ("<a href='"& myself &"Page="& page-(pagenc*2+1) &"&Range="&Range&"&Keyword="&server.urlencode(Keyword)&"'><font style='FONT-SIZE: 14px; FONT-FAMILY: Webdings'>7</font></a>&nbsp;") '如果页码开始值大于1则显示(更前)
  140.   if(pagenmax>pagec) then pagenmax=pagec '如果页码结束值大于总页数,则=总页数
  141.   for i = pagenmin to pagenmax'循环输出页码
  142. if(i=page) then
  143.   response.write ("&nbsp;<font color='#ff6600'>"& i &"</font>&nbsp;")
  144. else
  145.   response.write ("[<a href='"& myself &"Page="& i &"&Range="&Range&"&Keyword="&server.urlencode(Keyword)&"'>"& i &"</a>]")
  146. end if
  147.   next
  148.   if(pagenmax<pagec) then response.write ("&nbsp;<a href='"& myself &"Page="& page+(pagenc*2+1) &"&Range="&Range&"&Keyword="&server.urlencode(Keyword)&"'><font style='FONT-SIZE: 14px; FONT-FAMILY: Webdings'>8</font></a>&nbsp;") '如果页码结束值小于总页数则显示(更后)
  149.   if(page<pagec) then response.write ("<a href='"& myself &"Page="& pagec &"&Range="&Range&"&Keyword="&server.urlencode(Keyword)&"'><font style='FONT-SIZE: 14px; FONT-FAMILY: Webdings'>:</font></a>") '如果页码小于总页数则显示(最后页)
  150.   Response.Write "</td>" & vbCrLf
  151.   Response.Write "</tr>" & vbCrLf
  152.   Response.Write "</table>" & vbCrLf
  153.   rs.close
  154.   set rs=nothing
  155. end function 
  156. %>