asp+access如何做站内搜索?

2025-12-13 01:51:51
推荐回答(2个)
回答1:

个人写的一小部分代码供楼主参考,最主要是要构建SQL语句,代码如下:


请输入你要查询的条件:
标题:
作者:







<%
Dim Title,Author
Title = Trim(Request("Title")) '接收用户输入的姓名信息
Author = Trim(Request("Author")) '接收用户输入的电话信息
Dim NowPage
NowPage = Request("page") '接收你超链接的页码值并赋值给变量NowPage
if NowPage = "" then '如果你没有输入查看的页码,那么显示第一页
NowPage = 1
end If

If IsNumeric(NowPage) Then '页码是数字则转换成整型数据,不是数字则显示第一页
NowPage = CInt(NowPage)
Else
NowPage = 1
End If
If NowPage < 1 Then '如果页码值小于1,则为第一页
NowPage = 1
End If
%>

<%
set rs=server.createobject("adodb.recordset")
sql="SELECT * FROM 新闻 Where 是否发布 = True " '由于是输入查询所以需构建SQL语句,模糊查询必须是%
If Title <> "" Then
sql = sql & " and (标题 like '%"&Title&"%') "
End If
If Author <> "" Then
sql = sql & " and (作者 like '%"&Author&"%') "
End If
sql = sql & " ORDER BY 编号 DESC"
rs.open sql,conn,1,1
If Not rs.eof And Not rs.bof Then '如果查询到数据则执行
rs.PageSize = 4 '设置每页显示4条数据记录
ReCount = rs.RecordCount '把查询到的总记录数据赋值给变量ReCount
PgCount = rs.PageCount '把总页码数赋值给变量PgCount
If NowPage > PgCount Then '页码数值如果大于总页码数则只能为最后一页
NowPage = PgCount
End If
rs.AbsolutePage = NowPage '设置当前用户正在浏览第几页
do while (not rs.EOF) And (i Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
i = i + 1
rs.MoveNext
Loop
Else
response.write ""
End If
rs.close
set rs=nothing
conn.Close
set conn=Nothing
response.write ""
%>
标题 作者
"&rs("标题")&"" & rs("作者") & "
找不到你查询的数据
"
Response.Write "首页 "
Response.Write "前一页 "
Response.Write "后一页 "
Response.Write "末页"
Response.Write "
"
Response.Write "现在是第"&NowPage&"/"&PgCount&"页,共有"&ReCount&"条数据记录"
response.write "


觉得对你有帮助的话,请楼主结贴加分

回答2:

主要用select
站内搜索一般不止搜索一个表吧?搜索的内容能在很多个表中,这样一条select语句是不够的。