主頁(yè) > 知識(shí)庫(kù) > asp 多字段模糊搜索的函數(shù)

asp 多字段模糊搜索的函數(shù)

熱門標(biāo)簽:土地證宗地圖標(biāo)注符號(hào) 保定電銷機(jī)器人軟件 成都銷售外呼系統(tǒng)公司 客服外呼系統(tǒng)呼叫中心 電話機(jī)器人案例 自動(dòng)外呼系統(tǒng)怎么防止封卡 鎮(zhèn)江云外呼系統(tǒng)怎么樣 電話機(jī)器人銷售公司嗎 vue 地圖標(biāo)注拖拽

比較簡(jiǎn)單直接的sql語(yǔ)句

Recordset1.Source = "SELECT * FROM 表 WHERE 字段 LIKE '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' or 字段2 like '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' ORDER BY id DESC"
Recordset1.Source = "SELECT * FROM 表 WHERE 字段 LIKE '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' and 字段2 = 2 ORDER BY id DESC"

下面是一些補(bǔ)充

函數(shù)名:keyword_sousuo
作 用:生成sql查詢條件
參 數(shù):table_field ------ 表的字段名(之間用逗號(hào)分開(kāi))
keyword ------ 搜索關(guān)鍵詞(之間用空格分開(kāi))
返 回:sql查詢條件

 核心代碼

'================================================== 
'函數(shù)名:keyword_sousuo 
'作 用:生成sql查詢條件 
'參 數(shù):table_field ------ 表的字段名(之間用逗號(hào)分開(kāi)) 
' keyword ------ 搜索關(guān)鍵詞(之間用空格分開(kāi)) 
'返 回:sql查詢條件 
'================================================== 
function keyword_sousuo(byval table_field,byval keyword) 
 dim str01,str02,keywords,table_fields,i,j 
   
 table_fields=split(trim(table_field),",") 
 keywords=split(trim(keyword),",") 
  
 if table_field>"" then 
  str01="("table_fields(0)" like '%"keyword"%'" 
  for j=0 to ubound(table_fields) 
  str01=str01" or "table_fields(j)" like '%"keyword"%'" 
  next 
  str01=str01")" 
 else 
  response.Write("script>alert('參數(shù)錯(cuò)誤(不能為空)!')/script>") 
  response.End() 
 end if 

 '全角--》半角 空格 
 'keyword=replace(keyword," "," ") 
 'while InStr(keyword," ")>0 
 ' keyword=replace(keyword," "," ") 
 'wend 
 keywords=split(keyword," ") 
 if ubound(keywords)>0 then 
 for i=0 to ubound(keywords) 
  str02=str02"("table_fields(0)" like '%"keywords(i)"%'" 
  for j=1 to ubound(table_fields) 
  str02=str02" or "table_fields(j)" like '%"keywords(i)"%'" 
  next 
  str02=str02")" 
 next 
 str02="("replace(str02,")(",")and(")")" 
 keyword_sousuo="("  str01  "or"  str02  ")" 
 else 
 keyword_sousuo=str01 
 end if 
end function 
'================================================== 
'函數(shù)名:keyword_tag 
'作 用:將字符串里的關(guān)鍵詞標(biāo)記為紅色 
'參 數(shù):str ------ 字符串 
' keyword ------ 標(biāo)記關(guān)鍵詞(之間用空格分開(kāi)) 
'返 回:字符串(html格式) 
'================================================== 
function keyword_tag(byval str,byval keyword) 
 dim keywords,str01,str02,i 
  '全角--》半角 空格 
 'keyword=replace(keyword," "," ") 
 'while InStr(keyword," ")>0 
 ' keyword=replace(keyword," "," ") 
 'wend 
 str01=replace(str,keyword,"font color=""#ff0000"">"keyword"/font>") 
  keywords=split(keyword," ") 
 if ubound(keywords)>0 then 
  str02=str 
 for i=0 to ubound(keywords) 
 str02=replace(str02,keywords(i),"font color=""#ff0000"">"keywords(i)"/font>") 
 next 
  keyword_tag=str02 
 else 
 keyword_tag=str01 
 end if 
end function 
以下是一個(gè)例子 http://www.zhouhaihe.com/blog/uploads/200604/recordread.asp 

%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> 
% 
 option explicit 
 dim conn,connstr,database 
 connstr="DBQ="+server.mappath("record.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" 
 set conn=server.CreateObject("adodb.connection") 
 conn.open connstr 

dim n,rs,page,keyword,keywords,RecordCount,pageCount,pos,i,sql_where 
n=50 
page=Request("page") 
keyword=trim(request("keyword")) 
sql_where=keyword_sousuo("title,cz,name,time",keyword) 
set rs=server.CreateObject("adodb.recordset") 
rs.open "select * from record where "sql_where" order by id desc",conn,1,2 
if page=0 then 
 page=1 
 end if 
RecordCount = 0 
do while not rs.Eof 
 RecordCount = RecordCount +1 
 rs.MoveNext 
loop 
if not RecordCount=0 then 
 rs.MoveFirst 
end if 
pageCount=RecordCount/n 
pageCount=int(pageCount) 
if (RecordCount mod n)>0 then 
 PageCount=PageCount +1 
end if 
%> 
style type="text/css"> 
!-- 
.STYLE3 {color: #666666} 
--> 
/style> 
table width="100%" border="0" cellspacing="0" cellpadding="0"> 
 form id="form1" name="form1" method="post" action="?">tr>td align="center">input name="keyword" type="text" id="keyword" value="%=keyword%>" size="30" /> 
 nbsp; input type="submit" name="Submit" value="搜索" /> 
 span class="STYLE3">(關(guān)鍵詞之間用空格分開(kāi)) /span>/td> 
 
 /tr>/form> 
 tr> 
 td height="5">/td> 
/table> 

table width="600" border="1" align="center" cellpadding="4"> 
 tr align="center"> 
 td width="131">標(biāo)題/td> 
 td width="131">動(dòng)作/td> 
 td width="131">用戶名/td> 
 td width="132">時(shí)間/td> 
 /tr> 
%pos=0 
do while pos(page-1)*n 
pos=pos+1 
rs.moveNext 
loop 
i=0 
while not rs.eof and in 
i=i+1%> 
 tr align="center"> 
 td>%=keyword_tag(rs("title"),keyword)%>/td> 
 td>%=keyword_tag(rs("cz"),keyword)%>/td> 
 td>%=keyword_tag(rs("name"),keyword)%>/td> 
 td>%=keyword_tag(rs("time"),keyword)%>/td> 
 /tr> 
 
 %rs.movenext 
 wend 
 rs.close 
 set rs=nothing 
 conn.close 
 set conn=nothing 
 
'================================================== 
'函數(shù)名:keyword_sousuo 
'作 用:生成sql查詢條件 
'參 數(shù):table_field ------ 表的字段名(之間用逗號(hào)分開(kāi)) 
' keyword ------ 搜索關(guān)鍵詞(之間用空格分開(kāi)) 
'返 回:sql查詢條件 
'================================================== 
function keyword_sousuo(byval table_field,byval keyword) 
 dim str01,str02,keywords,table_fields,i,j 
   
 table_fields=split(trim(table_field),",") 
 keywords=split(trim(keyword),",") 
  
 if table_field>"" then 
  str01="("table_fields(0)" like '%"keyword"%'" 
  for j=0 to ubound(table_fields) 
  str01=str01" or "table_fields(j)" like '%"keyword"%'" 
  next 
  str01=str01")" 
 else 
  response.Write("script>alert('參數(shù)錯(cuò)誤(不能為空)!')/script>") 
  response.End() 
 end if 

 '全角--》半角 空格 
 keyword=replace(keyword," "," ") 
 ' while InStr(keyword," ")>0 
 ' keyword=replace(keyword," "," ") 
 'wend 
 keywords=split(keyword," ") 
 if ubound(keywords)>0 then 
 for i=0 to ubound(keywords) 
  str02=str02"("table_fields(0)" like '%"keywords(i)"%'" 
  for j=1 to ubound(table_fields) 
  str02=str02" or "table_fields(j)" like '%"keywords(i)"%'" 
  next 
  str02=str02")" 
 next 
 str02="("replace(str02,")(",")and(")")" 
 keyword_sousuo="("  str01  "or"  str02  ")" 
 else 
 keyword_sousuo=str01 
 end if 
end function 
'================================================== 
'函數(shù)名:keyword_tag 
'作 用:將字符串里的關(guān)鍵詞標(biāo)記為紅色 
'參 數(shù):str ------ 字符串 
' keyword ------ 標(biāo)記關(guān)鍵詞(之間用空格分開(kāi)) 
'返 回:字符串(html格式) 
'================================================== 
function keyword_tag(byval str,byval keyword) 
 dim keywords,str01,str02,i 
  '全角--》半角 空格 
 keyword=replace(keyword," "," ") 
 'while InStr(keyword," ")>0 
 ' keyword=replace(keyword," "," ") 
 'wend 
 str01=replace(str,keyword,"font color=""#ff0000"">"keyword"/font>") 
  keywords=split(keyword," ") 
 if ubound(keywords)>0 then 
  str02=str 
 for i=0 to ubound(keywords) 
 str02=replace(str02,keywords(i),"font color=""#ff0000"">"keywords(i)"/font>") 
 next 
  keyword_tag=str02 
 else 
 keyword_tag=str01 
 end if 
end function 
dim y 
%> tr align="center"> 
 td colspan="4"> %=RecordCount%>個(gè)nbsp; font color="#FF0000">%=page%>/font>/%=pageCount%>頁(yè) 
 nbsp;%=n%>個(gè)/頁(yè) 轉(zhuǎn)到: 
 SELECT name="select" onchange=window.open(this.options[selectedIndex].value,'_self') > 
 %y=1 
     do while ypagecount+1%> 
 OPTION value=?page=%=y%>keyword=%=server.URLEncode(keyword)%> %if cstr(page)=cstr(y) then response.Write(" selected") end if%> >第%=y%>頁(yè)/OPTION> 
 %y=y+1 
 loop%> 
 /SELECT>/td> 
 /tr> 
/table>

文章就介紹到這了,希望大家以后多多支持腳本之家。

您可能感興趣的文章:
  • jquery zTree異步加載、模糊搜索簡(jiǎn)單實(shí)例分享
  • jquery ztree實(shí)現(xiàn)模糊搜索功能
  • 模擬一個(gè)類似百度google的模糊搜索下拉列表
  • c#反射表達(dá)式樹(shù)模糊搜索示例
  • mysql 模糊搜索的方法介紹
  • 用java等語(yǔ)言仿360首頁(yè)拼音輸入全模糊搜索和自動(dòng)換膚

標(biāo)簽:懷化 臺(tái)灣 成都 重慶 公主嶺 麗江 天津 內(nèi)江

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp 多字段模糊搜索的函數(shù)》,本文關(guān)鍵詞  asp,多,字段,模糊,搜索,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp 多字段模糊搜索的函數(shù)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于asp 多字段模糊搜索的函數(shù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章