网页的搜索功能如何实现?

我建立了一个图书馆“新书导航”的网站,在制作新书时,我用网页制作软件完成了新书的介绍,其具体方法就是彩传统的网页制作的操作,现在我想实现新书的检索,即输入关键字,完成新书... 我建立了一个图书馆“新书导航”的网站,在制作新书时,我用网页制作软件完成了新书的介绍 ,其具体方法就是彩传统的网页制作的操作,现在我想实现新书的检索,即输入关键字,完成新书的检索,请问:需要用到数据库技术吗?因为我只是想给读者看一下介绍,不需要其他的数据信息,如同书店网站一样,只是查询该书是否有货。如果想完成 此功能,下一步,我该如何进行操作? 展开
 我来答
du瓶邪
推荐于2017-09-18 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2951万
展开全部
把文本框的值传进来,然后利用SQL语句中的like模糊查询。
如 sql="select * from news where title like '%"&request("title")&"%'"
楼主在查询的时候还要注意过滤空格和单引号等。
下面这文章是介绍ASP做查询功能,楼主可以看一下。
详见:
面是库中URLINDEX表:URL和Keywords字段分别添加了索引.
URL 文本 (索引:有(无重复))
Title 文本
Description 文本
Summary 文本
Keywords 文本(索引:有(无重复))

<HTML><HEAD><TITLE>简单搜索引擎</TITLE></HEAD>
<BODY BGCOLOR=#ffffff MARGINWIDTH="0" MARGINHEIGHT="0"
LEFTMARGIN=0 TOPMARGIN=0>
<FORM METHOD="post" ACTION=" p?act=search">
Query: <INPUT TYPE="Text" NAME="QueryString"><BR>
<INPUT TYPE="Submit" VALUE="Submit">
</FORM>
</CENTER>

<%
dim act
act=request("act")
if(act="search") then
QueryString = rm( "QueryString" )
QueryWords = Split( QueryString )
strIndent = " "

' 如果搜索为空则返回
If QueryString = "" Then
Response.Redirect( " p" )
End If

Session.timeout = 2
If IsObject(Session("sitesearch_conn")) Then
Set conn = Session("sitesearch_conn")
Else
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("database/ b"),"",""
Set Session("sitesearch_conn") = conn
End If
' 查询语句
sql = "SELECT * FROM [URLIndex] WHERE"

'搜索Description字段
sql = sql & " ( [Description] LIKE '%" & QueryWords( 0 ) & "%'" ' First
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Description] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Description] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next

' 搜索Keywords字段
sql = sql & " ) OR ( [Keywords] LIKE '%" & QueryWords( 0 ) & "%'"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Keywords] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Keywords] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next

' 搜索Title字段
sql = sql & " ) OR ( [Title] LIKE '%" & QueryWords( 0 ) & "%'"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Title] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Title] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next

' 搜索Summary字段
sql = sql & " ) OR ( [Summary] LIKE '%" & QueryWords( 0 ) & "%'"
For i = LBound( QueryWords ) + 1 to UBound( QueryWords )
If QueryWords( i ) <> "" and UCase( QueryWords(i) ) <> "OR" and UCase( QueryWords(i) ) <> "AND" Then
If uCase( QueryWords( i-1 ) ) = "OR" Then
sql = sql & " OR [Summary] LIKE '%" & QueryWords( i ) & "%'"
Else
sql = sql & " AND [Summary] LIKE '%" & QueryWords( i ) & "%'"
End If
End If
Next
sql = sql & " )"

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
Response.Write "<BR><B> 你搜索的是: </B> " & QueryString
Response.Write "<BR><B> 搜索的关键字: </B> "
For i = LBound( QueryWords ) to UBound( QueryWords )
Response.Write "<BR>" & strIndent & i & ": " & QueryWords( i )
Next

' Print the SQL String
Response.Write "<BR><B> sql 语句 : </B> " & sql

' Print the Results
Response.Write "<BR><B> 结果 : </B> <UL>"
On Error Resume Next
rs.MoveFirst
Do While Not rs.eof
Response.Write "<BR>" & "<A HREF=' p?IndexURL=" & rs.Fields("URL").Value & "'>" & rs.Fields("Title") & "</A> - "
Response.Write rs.Fields("Description") & "<BR>"
Response.Write " <FONT SIZE=2>URL: " & rs.Fields("URL") & "</FONT>"
Response.Write "<HR SIZE=1 WIDTH=200 ALIGN=LEFT>"
rs.MoveNext
Loop
Response.Write "</UL>"
end if
%>

</BODY>
</HTML>
传奇勇者
2010-10-29 · TA获得超过747个赞
知道大有可为答主
回答量:1706
采纳率:75%
帮助的人:812万
展开全部
需要数据库搜索,形式为:
select * from 书目录表 where 书名(内容) like '%关键字%'
可以检索出包含关键字的书。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
只想倾吐一一下
2010-11-12 · TA获得超过5817个赞
知道大有可为答主
回答量:1323
采纳率:0%
帮助的人:2835万
展开全部
兄台...你会asp的select update delete么?分的话很简单的.
搜索主要用到sql语句完成的!
找一下资料自己研究..找别人帮你做.自己也学不到东西.懂?
如果遇到什么问题请加52433292群.共同研究!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锈舌
2010-10-29
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
<select><option1="">……
</select>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式