注册 登录
编程论坛 ASP技术论坛

ASP+ACCESS查询结果带链接

gemsqs 发布于 2015-01-13 10:48, 2382 次点击
如何实现ASP+ACCESS查询结果带链接,程序如下:
需不需要库?用INDEX文件
<!--#include file="conn.asp"-->
<%
Function NoCSSHack(Str)      '过滤非法字符,防止 XSS 注入
 Dim regEx
 Set regEx = New RegExp
 regEx.IgnoreCase = True
 regEx.Pattern = "<|>|(script)|on(mouseover|mouseon|mouseout|click|dblclick|blur|focus|change)|src|'|img|url|eval|\t"
 If regEx.Test(LCase(Str)) Then
  Response.Write "<script>alert('你的输入含有非法字符,请检查后再搜索!');history.back();</script>"
  Response.End
 End If
 Set regEx = Nothing
 NoCSSHack = Str
End Function

Function FormatHTML(fString)        '过滤空格
If fString<>"" Then
fString = trim(fString)
fString = Replace(fString," ","")
fString = Replace(fString," ","")
FormatHTML = fString
End If
End Function
%>
<html>
<form action="search.asp">
<input type="text" name="q" />
<input type="submit" value="搜索" /> 关键词:<%=request("q")%>
</form>
<%
str=NoCSSHack(left(FormatHTML(Server.HTMLEnCode(request("q"))),20))

if str="" then
response.write "请输入关键词。"
else
for i=1 to len(str)
if i<>len(str) then
sql=sql&"FILETITLE not like '%"&str&"%' and FILETITLE like '%"&mid(str,i,2)&"%' or "
else
sql=sql&"FILETITLE like '%"&str&"%' and FILETITLE not like '%"&str&"%'"
end if
next

set rs=server.createobject("adodb.recordset")
sql="select *,1 from [INFO] where FILETITLE like '%"&str&"%' union select *,2 from [INFO] where "&sql&""
rs.open sql,conn,1,1
if rs.eof then
Response.Write "没有搜索到内容。"
else
do while not rs.eof
Response.Write rs("FILETITLE")
Response.Write "<br>"
rs.movenext
loop
end if
rs.close
end if
%>
</div>
</html>
6 回复
#2
hu9jj2015-01-13 19:26
请解释一下什么叫做“查询结果带链接”
#3
tlliqi2015-01-13 19:56
以下是引用hu9jj在2015-1-13 19:26:15的发言:

请解释一下什么叫做“查询结果带链接”
同问
#4
ysf01812015-01-16 15:02
<a href='test.asp?id=<%=rs("test")%>'><%=rs("test2")%></a>
#5
gemsqs2015-01-20 15:21
原来的带超链接的,查询后结果只有标题没有链接
查询结果是这样的:
会计信息失真的成因与治理
十月份工作小结十一月份工作安排
十月份工作小结十一月份工作安排
探索稽查工作新局面
十月份工作小结十一月份工作安排
精神文明等三项工作开展情况
没有相应的链了
<a href='test.asp?id=<%=rs("test")%>'><%=rs("test2")%></a>放在何处。具体些
#6
hu9jj2015-01-20 16:12
首先要确定你要链接的页面名称,即下列红色部分:
<a href='test.asp?id=<%=rs("test")%>'><%=rs("test2")%></a>
然后是你要显示的内容,见下列红色的部分:
<a href='test.asp?id=<%=rs("test")%>'><%=rs("test2")%></a>
红色部分的内容应该是你在一楼中代码的“rs("FILETITLE")”。
这些语句一般会放在循环体中,也就是你的代码do while... 之后。


#7
gemsqs2015-01-21 09:17
回复 6楼 hu9jj
谢谢!这是原程,你帮给看下,
Sy.asp是主程
index.asp是查找主程
search.asp
还有能在主程上加上共几页,当前页数吗
只有本站会员才能查看附件,请 登录
1