用ASP实现搜索引擎的功能是一件很方便的事,可是,如何实现类似3721的智能搜
索呢?比如,当在搜索条件框内输入“中国人民”时,自动从中提取“中国”、
“人民”等关键字并在数据库内进行搜索。看完本文后,你就可以发现,这个功
能实现起来竟然是如此的简单。OK,FollowMe!
第一步,我们要建立一个名为db_sample.mdb的数据库(本文以Access2000数
据库为例),并在其中建立表T_Sample。表T_Sample包括如下字段:
ID自动编号
U_Name文本
U_Info备注
第二步,我们开始设计搜索页面Search.asp。该页面包括一个表单
(Frm_Search),表单内包括一个文本框和一个提交按钮。并将表单的method属
性设为“get”,action属性设为“Search.asp",即提交给网页自身。代码如下
:
<!--Search.asp-->
<formname="frm_Search"method="get"action="Search.asp">
请输入关键字:
<inputtype="text"name="key"size="10">
<inputtype="submit"value="搜索">
</form>
下面,就进入了实现智能搜索的关键部分。
首先,建立数据库连接。在Search.asp的开始处加入如下代码:
<%
DimstrProvider,CNN
strProvider="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="
strProvider=strProvider&Server.MapPath("/")&
"/data/db_Sample.mdb"'假设数据库存放在主页根目录下的data目录下
SetCNN=Server.CreateObject("ADODB.connection")
CNN.OpenstrProvider'打开数据库连接
%>
接下来,判断ASP页所接收到的数据,并在数据库中进行搜索。
<%
DimS_Key,RST,StrSQL
S_Key=Trim(Request("key"))'得到搜索关键字的值
IfS_Key<>""then
SetRST=Server.CreateObject("ADODB.RecordSet")