主题:  我在做新闻搜索页时的问题```

mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
注册:2002/4/1 10:54:21
#12002/6/1 14:15:25
在搜索页面里做了个下拉菜单``可以根据四个类别搜索和所有类别搜索``
分别的value是1,2,3,4和%(1,2,3,4是种类的ID值)
当用四个种类查时结果页可以正常显示。
可每次在选择所有类别查找时,结果页的类别种类名那个就不能正常显示种类名称了``

用到了两个表```表一和表二里都有种类的ID这一字断```表二有种类名这一字断``
我该怎么做?是由于%号的缘故吧?
结果页面的记录集怎定义?
我是用UD做的!



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#22002/6/1 20:04:10
首先你不能用“%”做为所有类别的。我现在是这样做的:

设置所有类别的value值为“noClass”(可以自己定),然后在搜索结果页里,找到你先前定义的SQL语句,如:
select * form myTable.............................
在前面加上判断语句:
if Request("ListName")<>"noClass" then
sql语句1(原来的)
esle
sql语句2,没有类别的限制
end if



mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
注册:2002/4/1 10:54:21
#32002/6/1 22:55:11
我是用ULTRADEV做的``
在绑定记录集时不大会写进去IF语句```
应该怎么把IF写进去`
格式是什么?在哪写呢?

谢谢!?!



mezi

职务:普通成员
等级:1
金币:0.0
发贴:141
注册:2002/4/1 10:54:21
#42002/6/1 23:08:06
<%
Dim Recordset1__MMColParam
Recordset1__MMColParam = "1"
if (Request.QueryString("textsearch") <> "") then Recordset1__MMColParam = Request.QueryString("textsearch")
%>
<%
Dim Recordset1__varselect
Recordset1__varselect = "1"
if (Request.QueryString("select") <> "") then Recordset1__varselect = Request.QueryString("select")
%>
<%
set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_biyesheji_STRING
Recordset1.Source = "SELECT * FROM dbo.tb_third,dbo.tb_second WHERE dbo.tb_third.secondID=dbo.tb_second.secondID and dbo.tb_third.guanjian LIKE '%" + Replace(Recordset1__MMColParam, "'", "''") + "%' and dbo.tb_third.secondID like '%" + Replace(Recordset1__varselect, "'", "''") + "%' ORDER BY dbo.tb_third.newdate DESC"
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 3
Recordset1.Open()
Recordset1_numRows = 0
%>
其中varselect是下拉菜单变量``secondID是新闻代号



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#52002/6/2 11:41:48
打开代码编辑窗口View--->Code,看如下代码:
<%
set rsResult = Server.CreateObject("ADODB.Recordset")
rsResult.ActiveConnection = MM_news_STRING
if Request("selectType") <> "no" then  '看这里的if语句
  rsResult.Source = "SELECT *  FROM T_News,T_Type  WHERE (T_News.N_Type=T_Type.ID_Type) AND (T_News.N_Title LIKE '" + Replace(rsResult__varTitle, "'", "''") + "%') AND (T_News.N_Type = " + Replace(rsResult__varType, "'", "''") + ") AND (T_News.N_Check='1')  ORDER BY T_News.N_Data DESC"
else
  rsResult.Source = "SELECT *  FROM T_News,T_Type  WHERE (T_News.N_Type=T_Type.ID_Type) AND (T_News.N_Title LIKE '" + Replace(rsResult__varTitle, "'", "''") + "%') AND (T_News.N_Check='1')  ORDER BY T_News.N_Data DESC"
end if
rsResult.CursorType = 0
rsResult.CursorLocation = 2
rsResult.LockType = 3
rsResult.Open()
rsResult_numRows = 0
%>