asp搜索代码 空格显示问题
在文本框中输入搜索关键字后,比如:loveme提交查询后,搜索的结果是loveme.而浏览器上面显示的地址是比如:a.asp?music=love+me但在数据库中有个数...
在文本框中输入搜索关键字后,比如:love me
提交查询后,搜索的结果是loveme.而浏览器上面显示的地址是比如:a.asp?music=love+me
但在数据库中有个数据的是love me
所以搜love me 搜不到,loveme也搜不到
代码如下:
<%
search=replace(request("Music")," ","")
if search="" then
Response.Write"<script>window.alert('请输入关键字');history.back(-1);</script>"
Response.end
end if
Set rs= Server.CreateObject("ADODB.Recordset")
Sql="select * from singer Where singername like'%"&search&"%' order by id desc"
%>
<%
MaxPerPage=100
page=request("page")
if isnumeric(page)=true then
if page>0 then
currentPage=int(page)
else
currentPage=1
end if
else
currentPage=1
end if
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<b> <a href=/tijiao/ target=_blank>Sorry! 暂时还没收录此歌手,如果您觉得此歌手歌曲好听,请点此介绍</a>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showContent
showpage totalput,MaxPerPage
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
bookmark=rs.bookmark
showContent
showpage totalput,MaxPerPage
else
currentPage=1
showContent
showpage totalput,MaxPerPage
end if
end if
end if
sub showContent
i=1
do while not rs.eof
Response.Write "<li><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> <img src="""&rs("pic")&""" title="""&rs("singername")&""" width=""250"" height=""200"" border=""0"" /> </a><br><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> "&rs("singername")&" </a> <font color=""#FF0000"">(此歌手歌曲已被试听"&rs("hit")&"次)</font><br><br>"&left(rs("dangan"),300)&"<br><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> >> 查看"&rs("singername")&"的详细档案 </a></li><hr class=""bk"" size=""1"" width=""95%""/><br><br>"
if i>=MaxPerPage then exit do
i=i+1
rs.movenext
loop
rs.close
end sub
function showpage(totalnumber,maxperpage)
if totalnumber mod maxperpage=0 then
n= totalnumber \ maxperpage
else
n= totalnumber \ maxperpage+1
end if
end function
%> 展开
提交查询后,搜索的结果是loveme.而浏览器上面显示的地址是比如:a.asp?music=love+me
但在数据库中有个数据的是love me
所以搜love me 搜不到,loveme也搜不到
代码如下:
<%
search=replace(request("Music")," ","")
if search="" then
Response.Write"<script>window.alert('请输入关键字');history.back(-1);</script>"
Response.end
end if
Set rs= Server.CreateObject("ADODB.Recordset")
Sql="select * from singer Where singername like'%"&search&"%' order by id desc"
%>
<%
MaxPerPage=100
page=request("page")
if isnumeric(page)=true then
if page>0 then
currentPage=int(page)
else
currentPage=1
end if
else
currentPage=1
end if
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<b> <a href=/tijiao/ target=_blank>Sorry! 暂时还没收录此歌手,如果您觉得此歌手歌曲好听,请点此介绍</a>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if
if currentPage=1 then
showContent
showpage totalput,MaxPerPage
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
bookmark=rs.bookmark
showContent
showpage totalput,MaxPerPage
else
currentPage=1
showContent
showpage totalput,MaxPerPage
end if
end if
end if
sub showContent
i=1
do while not rs.eof
Response.Write "<li><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> <img src="""&rs("pic")&""" title="""&rs("singername")&""" width=""250"" height=""200"" border=""0"" /> </a><br><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> "&rs("singername")&" </a> <font color=""#FF0000"">(此歌手歌曲已被试听"&rs("hit")&"次)</font><br><br>"&left(rs("dangan"),300)&"<br><br><a href=""../singer/music/?id="&rs("id")&""" target=""_blank""> >> 查看"&rs("singername")&"的详细档案 </a></li><hr class=""bk"" size=""1"" width=""95%""/><br><br>"
if i>=MaxPerPage then exit do
i=i+1
rs.movenext
loop
rs.close
end sub
function showpage(totalnumber,maxperpage)
if totalnumber mod maxperpage=0 then
n= totalnumber \ maxperpage
else
n= totalnumber \ maxperpage+1
end if
end function
%> 展开
3个回答
展开全部
看你写的程序,我觉得最简单的办法就是在你歌曲入库的时候,将歌曲的名字格式化,然后搜索的时候调用同样的一个函数对输入进行格式化,那样的话,就能保证查询的信息的准确性了。
你应该对怎样格式化有所了解吧。
你应该对怎样格式化有所了解吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题出现在这里:
search=replace(request("Music")," ","")
你把空格过滤了啊!,把这行换成:
search=request("Music")
search=replace(request("Music")," ","")
你把空格过滤了啊!,把这行换成:
search=request("Music")
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用urlencode对址栏参数进行格式化,数据查询的时候再反过来就好了,。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询