經(jīng)??吹皆S多網(wǎng)站有一個(gè)站內(nèi)搜索功能,這個(gè)是如何實(shí)現(xiàn)呢?假如是asp,那dreamweaver很快就能實(shí)現(xiàn)。現(xiàn)在是asp.net,得稍微手編一下。
11.1 select高級(jí)搜索技巧
經(jīng)過(guò)上面章節(jié)的學(xué)習(xí),對(duì)select多少會(huì)點(diǎn)了解。select高級(jí)搜索技巧,其實(shí)也沒(méi)有什么神秘,主要與模式匹配運(yùn)算符的運(yùn)用有關(guān)。所以這里主要講解模式匹配運(yùn)算符的運(yùn)用。
模式匹配運(yùn)算符like、not like常用于模糊查找,它判定列值是否與指定的字符串格式相匹配。like用于查找匹配一定條件的記錄,not like用于查找不匹配指定條件的記錄??捎糜谧址⑽谋?、日期等類(lèi)型查詢(xún)。
1.百分號(hào)%:可匹配任意類(lèi)型和長(zhǎng)度的字符。
例如:select 學(xué)習(xí)筆記 from 學(xué)習(xí)筆記表 where 標(biāo)題 like “網(wǎng)絡(luò)%”
這個(gè)查詢(xún)是要查詢(xún)學(xué)習(xí)筆記表中標(biāo)題以“網(wǎng)絡(luò)”開(kāi)始的所有學(xué)習(xí)筆記,如:網(wǎng)絡(luò)數(shù)據(jù)庫(kù)asp一點(diǎn)通過(guò)、網(wǎng)絡(luò)與手機(jī)通訊開(kāi)發(fā)研究等。
例如:select 學(xué)習(xí)筆記 from 學(xué)習(xí)筆記表 where 標(biāo)題 like “%asp.net%”
這個(gè)查詢(xún)是要查詢(xún)所有標(biāo)題包含了“asp.net”的學(xué)習(xí)筆記。
2.下劃線_:匹配單個(gè)任意字符,常用來(lái)限制表達(dá)式的字符長(zhǎng)度。
例如:select 學(xué)習(xí)筆記 from 學(xué)習(xí)筆記表 where 標(biāo)題 like ”v_開(kāi)發(fā)精選 ”
這個(gè)查詢(xún)主要是查詢(xún)類(lèi)似于“vb開(kāi)發(fā)精選”、“vc開(kāi)發(fā)精選”這樣標(biāo)題的學(xué)習(xí)筆記。
3.中括號(hào)[ ]:指定個(gè)字符、字符串或范圍,要求所匹配對(duì)象為它們的任一個(gè)。
11.2 站內(nèi)搜索功能的實(shí)現(xiàn)
介紹了select高級(jí)搜索技巧后,將要介紹站內(nèi)搜索功能的實(shí)現(xiàn)。這里只采用了百分號(hào)%模式匹配運(yùn)算符。
?。?)打開(kāi)模板dkblog.dwt.aspx,插入表單,設(shè)id=” gofrm”,動(dòng)作為” ../dkgo.aspx”,方法為”post”;插入文本框,設(shè)id= “dkgotxt”;插入按鈕“搜索”,結(jié)果如圖11-1所示。
?。?)保存模板dkblog.dwt.aspx更新所有網(wǎng)頁(yè)。
?。?)新建一個(gè)空白asp.net vb動(dòng)態(tài)頁(yè),并保存為dkgo.aspx。添加數(shù)據(jù)集ztre,其設(shè)置如圖11-2所示。

圖11-1 添加有關(guān)表單控件

圖11-2 添加數(shù)據(jù)集ztre
?。?)單擊“高級(jí)”按鈕,把sql命令:
select * from zt order by zitime desc
改為:
select * from zt where ztname like '%" request.form("dkgotxt") "%' order by zitime desc
結(jié)果如圖11-3所示。

圖11-3 對(duì)數(shù)據(jù)集ztre進(jìn)行修改
(5)對(duì)dkgo.aspx頁(yè)面進(jìn)行有關(guān)設(shè)計(jì),綁定有關(guān)動(dòng)態(tài)文本到頁(yè)面中,設(shè)計(jì)重要區(qū)域,結(jié)果如圖11-4所示。

圖11-3 對(duì)dkgo.aspx的頁(yè)面設(shè)置
有關(guān)設(shè)置細(xì)節(jié)可以參照index.aspx的有關(guān)設(shè)置。 |||
新聞熱點(diǎn)
疑難解答
圖片精選