Dreamweaver 要下多條件的過濾
在製作網頁時,發現 Dreamweaver 的資料集篩選器只有一個,由於以前都沒有用到多條件篩選,所以不以為意
現在剛好有在製作一個功能,希望能在A網頁的搜尋的欄位中針對資料庫多個欄位的篩選,將結果顯示在B網頁,才發現....糟糕,Dreamweaver 的篩選只有一個條件
這時候應該怎麼寫呢?
上網查了一下資料,套用到我的模式中
首先先在B網頁增加一個資料集,不要篩選
於是資料集會產生以下的原始碼
<%
Dim Recordset1
Dim Recordset1_cmd
Dim Recordset1_numRows
Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
Recordset1_cmd.ActiveConnection = MM_MyDatabase_STRING
Recordset1_cmd.CommandText = "SELECT * FROM Member"
Recordset1_cmd.Prepared = true
Set Recordset1 = Recordset1_cmd.Execute
Recordset1_numRows = 0
%>
接著由於是從A網頁的表單要讀取搜尋欄位進來,所以在B網頁資料集的前方加入一個指令來讀取A網頁的傳遞資料
<%
Dim MM_Search
MM_Search = "未輸入資料"
If (Request.Form("Search") <> "") Then
MM_Search = Request.Form("Search")
End If
%>
然後在剛剛產生出來的資料集中去修改語法,我將修改的地方用紅色粗體字標示出來,而藍色粗體字的部份是我以前不知道的,現在終於知道,要在 like 的語法中在帶入變數,要加上 "&變數名稱&"
<%
Dim Recordset1
Dim Recordset1_cmd
Dim Recordset1_numRows
Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
Recordset1_cmd.ActiveConnection = MM_MyDatabase_STRING
Recordset1_cmd.CommandText = "SELECT * FROM Member Where name like '%"&MM_Search&"%' or member.email_private like '%"&MM_Search&"%' or member.email_1 like '%"&MM_Search&"%' "
Recordset1_cmd.Prepared = true
Set Recordset1 = Recordset1_cmd.Execute
Recordset1_numRows = 0
%>