⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 query.asp

📁 公司企业网站管理系统全站源码,用于企业内部对网站的管理
💻 ASP
📖 第 1 页 / 共 3 页
字号:
	keyword = Replace(keyword,"!"," ")
	keyword = Replace(keyword,"]"," ")
	keyword = Replace(keyword,"["," ")
	keyword = Replace(keyword,")"," ")
	keyword = Replace(keyword,"("," ")
	keyword = Replace(keyword," "," ")
	'keyword = Replace(keyword,"-"," ")
	keyword = Replace(keyword,"/"," ")
	keyword = Replace(keyword,"+"," ")
	keyword = Replace(keyword,"="," ")
	keyword = Replace(keyword,","," ")
	keyword = Replace(keyword,"'"," ")
	For i = 0 To Ubound(FobWords,1)
		If keyword=FobWords(i) Then
			Dvbbs.AddErrCode(61)
			Exit for
		End If
	Next
	If sType = 8 And (Request("submit")="站内搜索") Then sType = 2
	If sType = 8 And (Request("submit")="") Then isWeb = 2
	'Response.Write stype&Request("submit")&isweb
	'response.end
End Sub

Sub SQLQueryStr()
	Dim SearchUserID,Rs
	SqlColumn = "Select Top " & Cint(Dvbbs.Forum_Setting(11))*SearchMaxPageList
	If stype=1 And (nSearch=2 or nSearch=3) Then
		SqlColumn = SqlColumn & LCase(" BoardID,RootID,Topic,Expression,UserName,PostUserID,DateAndTime,IsBest,LockTopic,Body,AnnounceID")
	ElseIf stype=7 Then
		If IsSqlDataBase Then
		SqlColumn = SqlColumn & LCase(" T1.BoardID,T1.RootID,T1.Topic,T1.Expression,T1.UserName,T1.PostUserID,T1.DateAndTime,T1.IsBest,T1.LockTopic,T1.Body,T1.AnnounceID,T1.signflag")
		Else
		SqlColumn = SqlColumn & LCase(" BoardID,RootID,Topic,Expression,UserName,PostUserID,DateAndTime,IsBest,LockTopic,Body,AnnounceID,signflag")
		End If
	ElseIf stype=3 Then
		SqlColumn = LCase("Select Top 50 BoardID,rootid,topic,Expression,username,postuserid,dateandtime,IsBest,LockTopic,Body,Announceid")
	Else
		SqlColumn = SqlColumn & LCase(" BoardID,TopicID as RootID,Title as topic,Expression,PostUserName as UserName,PostUserID,DateAndtime,IsBest,LockTopic,Child,Hits")
		isMoreInfo = 1
	End If
	Dvbbs.Stats = template.Strings(4)
	
	'If Trim(searchday)<>"" Then
	'	Dvbbs.Stats = Dvbbs.Stats & Replace(template.Strings(5),"{$searchday}",request("SearchDate"))
	'Else
	'	Dvbbs.Stats = Dvbbs.Stats & template.Strings(6)
	'End If
	Select Case stype
	Case 1
		Set Rs=Dvbbs.Execute("Select UserID From Dv_User Where UserName='"&keyword&"'")
		If Rs.Eof And Rs.Bof Then
			Set Rs=Nothing
			Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(21)&"&action=OtherErr"
		Else
			SearchUserID = Rs(0)
		End If
		Select Case nSearch
		'主题作者
		Case 1
			If Not Dvbbs.master Then SearchUserID =SearchUserID&" And HideName=0"
			SqlColumn = SqlColumn & " From dv_Topic Where "&searchboard&" PostUserID="&SearchUserID&" Order By TopicID Desc"
			Dvbbs.Stats = Dvbbs.Stats & template.Strings(7)
		'回复作者
		Case 2
			If Not Dvbbs.master Then SearchUserID =SearchUserID&" And signflag<2"
			SqlColumn = SqlColumn & " From " & stable & " Where "&searchboard&" ParentID>0 And PostUserID="&SearchUserID&" Order By AnnounceID Desc"
			Dvbbs.Stats = Dvbbs.Stats & template.Strings(8)
		'主题和回复作者
		Case 3
			If Not Dvbbs.master Then SearchUserID =SearchUserID&" And signflag<2"
			SqlColumn = SqlColumn & " From " & stable & " Where "&searchboard&" PostUserID="&SearchUserID&" Order By AnnounceID Desc"
			Dvbbs.Stats = Dvbbs.Stats & template.Strings(9)
		End Select
	Case 2
		SearchUserID="'%"&keyword&"%'"
		SqlColumn = SqlColumn &",HideName From dv_Topic Where "&searchboard&" Title like "&SearchUserID&" Order By TopicID Desc"
		'Response.write SqlColumn
		Dvbbs.Stats = Dvbbs.Stats & template.Strings(10)
	Case 3
		'最新50贴
		If Dvbbs.BoardID > 0 then
			SqlColumn = SqlColumn & ",signflag From "&stable&" where BoardID="&Dvbbs.BoardID&" ORDER BY announceID desc"
		Else
			SqlColumn = SqlColumn &",signflag From "&stable&" ORDER BY announceID desc"
		End if
		Dvbbs.Stats = template.Strings(12)
	Case 4
		'用户热贴
		If keyword<>"" Then
			Set Rs=Dvbbs.Execute("Select UserID From Dv_User Where UserName='"&keyword&"'")
			If Rs.Eof And Rs.Bof Then
				Set Rs=Nothing
				Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(21)&"&action=OtherErr"
			Else
				SearchUserID = Rs(0)
			End If
		End If
		Dim HotTopicDay,HotTopicView,MyHotTopic
		If Dvbbs.Forum_Setting(13)<>"0" Then
			MyHotTopic = Split(Dvbbs.Forum_Setting(13),"|")
			If Ubound(MyHotTopic)=1 Then
				HotTopicDay = MyHotTopic(0)
				HotTopicView = MyHotTopic(1)
			Else
				HotTopicDay = 10
				HotTopicView = 200
			End If
		Else
			HotTopicDay = 10
			HotTopicView = 200
		End If
		Dvbbs.Stats = Replace(Replace(template.Strings(13),"{$daylimited}",HotTopicDay),"{$viewlimited}",HotTopicView)
		If IsSqlDataBase=1 Then
			searchday=" datediff(d,DateAndTime,"&SqlNowString&") < "&HotTopicDay&" and "
		Else
			searchday=" datediff('d',DateAndTime,"&SqlNowString&") < "&HotTopicDay&" and "
		End If
		If keyword<>"" Then
			keyword = " And PostUserID="&SearchUserID
			If Not (Dvbbs.master Or Dvbbs.SuperBoardmaster) Then keyword =keyword&" And HideName=0"
		End If
		SqlColumn = SqlColumn & ",HideName From dv_Topic Where "&searchday&" hits>"&HotTopicView&" "&keyword&" Order By TopicID Desc"
		'Response.write SqlColumn
		keyword = Dvbbs.CheckStr(Request("keyword"))
	Case 5
		'我的主题和被回复的主题
		If Dvbbs.UserID=0 Then
			Dvbbs.AddErrCode(61)
			Exit Sub
		End If
		Dim s
		s=request("s")
		If s="" Or Not IsNumerIc(s) Then s=1
		s=clng(s)
		If s=1 Then
			SqlColumn=LCase("select BoardID,TopicID as rootid,Title as topic,Expression,PostUserName as UserName,PostUserID,DateAndtime,IsBest,LockTopic,Child,Hits from Dv_Topic where Boardid<>444 And topicid in (select top 200 rootid from "&stable&" where ParentID>0 And PostUserID="&Dvbbs.UserID&" order by AnnounceID desc) order by topicid desc")
			Dvbbs.Stats = template.Strings(14)
		Else
			SqlColumn=LCase("select BoardID,TopicID as rootid ,Title as topic,Expression,PostUserName as UserName,PostUserID,DateAndtime,IsBest,LockTopic,Child,Hits from dv_topic where Boardid<>444 And postUserID="&Dvbbs.UserID&" ORDER BY topicid desc")
			Dvbbs.Stats = template.Strings(15)
		End If
		isMoreInfo = 1
	Case 6
		'版面或用户精华贴
		If keyword<>"" Then
			Set Rs=Dvbbs.Execute("Select UserID From Dv_User Where UserName='"&keyword&"'")
			If Rs.Eof And Rs.Bof Then
				Set Rs=Nothing
				Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(21)&"&action=OtherErr"
			Else
				SearchUserID = Rs(0)
			End If
		End If
		If Trim(searchboard)="" Then
			If keyword<>"" Then
				keyword = " Where PostUserID="&SearchUserID
			Else
				isWeb = 0
			End If
			SqlColumn = LCase("select BoardID,RootID,Title as topic ,Expression,PostUserName as username,PostUserID,DateAndtime,PostUserID As IsBest,PostUserID As LockTopic From dv_BestTopic ")& keyword&" Order By ID Desc"
			Else
			If keyword<>"" Then
				keyword = " And PostUserID="&SearchUserID
			End If
			SqlColumn = LCase("select BoardID,RootID,Title as topic,Expression,PostUserName as username ,PostUserID,DateAndtime,PostUserID As IsBest,PostUserID As LockTopic From dv_BestTopic Where ") & Replace(searchboard,"and","")&" "&keyword&" Order By ID Desc"
		End If
		keyword = Dvbbs.CheckStr(Request("keyword"))
		Dvbbs.Stats = template.Strings(16)
	Case 7
		'内容或全文索引
		If Dvbbs.Forum_Setting(16)<>"0" Then
			If IsSqlDataBase Then
				If Trim(searchboard)="" Then
					SqlColumn = SqlColumn & " From " & stable & " T1 Inner Join ContainsTable("&stable&",body,'" & keyword & "'," & Dvbbs.Forum_Setting(11)*SearchMaxPageList & ") As T2 ON T1.AnnounceID = T2.[KEY] Order By T1.AnnounceID Desc"
				Else
					SqlColumn = SqlColumn & " From " & stable & " T1 Inner Join ContainsTable("&stable&",body,'" & keyword & "'," & Dvbbs.Forum_Setting(11)*SearchMaxPageList & ") As T2 ON T1.AnnounceID = T2.[KEY] Where "&Replace(Replace(searchboard,"BoardID","T1.BoardID"),"and","")&" Order By T1.AnnounceID Desc"
				End If
			Else
				SqlColumn = SqlColumn & " From " & stable & " Where "&searchboard&" body like '%"&keyword&"%' Order By AnnounceID Desc"
			End If
			Dvbbs.Stats = Dvbbs.Stats & template.Strings(11)
		Else
			 Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(19)&"&action=OtherErr"
		End If
	Case 8
		SqlColumn = "Select Top 1 id as BoardID,id as RootID,Forum_lastUser as topic,Forum_lastUser as Expression,Forum_lastUser as UserName,id as PostUserID,Forum_MaxPostDate as DateAndtime,id as IsBest,id as LockTopic,id as Child,id as Hits From Dv_setup"
		Dvbbs.Stats = Dvbbs.Stats & "搜索引擎搜索结果"
	Case Else
		Dvbbs.AddErrCode(61)
		Exit Sub
	End Select

	Dvbbs.Nav()
	If Dvbbs.BoardID=0 then
		Dvbbs.Head_var 0,0,template.Strings(0),"query.asp"
	Else
		Dvbbs.Head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
	End If
	If IsEmpty(Session("QueryLimited")) Then
		Session("QueryLimited") = keyword & "|" & stype & "|" & Now()
	Else
		If IsWeb <> 2 Then
		Dim QueryLimited
		QueryLimited = Split(Session("QueryLimited"),"|")
		If Ubound(QueryLimited) = 2 Then
			If Cstr(Trim(QueryLimited(0))) = Cstr(keyword) And Cstr(Trim(QueryLimited(1))) = Cstr(stype) Then
				Session("QueryLimited") = keyword & "|" & stype & "|" & Now()
			Else
				If DateDiff("s",QueryLimited(2),Now()) < Clng(Dvbbs.Forum_Setting(3)) And Not(Dvbbs.Master Or Dvbbs.BoardMaster Or Dvbbs.SuperBoardMaster) Then
					Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(template.Strings(20),"{$timelimited}",Dvbbs.Forum_Setting(3))&"&action=OtherErr"
				Else
					Session("QueryLimited") = keyword & "|" & stype & "|" & Now()
				End If
			End If
		Else
			Session("QueryLimited") = keyword & "|" & stype & "|" & Now()
		End If
		End If
	End If
End Sub
Sub SearchResult()
	Dim Rs
	Dim Record_Count,n,sql
	SQLQueryStr()
	If Dvbbs.ErrCodes<>"" Then Exit Sub
	If Not IsObject(Conn) Then ConnectionDatabase
	Dvbbs.SqlQueryNum = Dvbbs.SqlQueryNum + 1
	Set Rs=server.createobject("adodb.recordset")
	'Response.Write SqlColumn
	Rs.Open SqlColumn,Conn,1,1
	If Err Then
		Dvbbs.AddErrCode(61)
		Exit Sub
	Else
		If Not Rs.Eof Then
			Record_Count = Rs.RecordCount
			If Record_Count Mod Cint(Dvbbs.Forum_Setting(11))=0 Then
				n = Record_Count \ Cint(Dvbbs.Forum_Setting(11))
			Else
				n = Record_Count \ Cint(Dvbbs.Forum_Setting(11))+1
			End If
			Rs.MoveFirst
			If page > n Then page = n
			If page < 1 Then page = 1
			If page > 1 Then 				
				Rs.Move (page-1) * Clng(Dvbbs.Forum_Setting(11))
			End if
			Sql = Rs.GetRows(Clng(Dvbbs.Forum_Setting(11)))
			Set XMLDOM=QueryArrayToxml(sql,rs,"","")
		Else
			Dvbbs.AddErrCode(32)
			Exit Sub
		End If
	End If
	Rs.Close:Set Rs=Nothing
	Dim SearchStr
	SearchStr = "stype="& Request("stype") &"&pSearch="& Request("pSearch")&"&nSearch=" & Request("nSearch") &"&boardid="&Request("boardid")&"&SearchDate="& Request("SearchDate")&"&keyword=" &Server.urlencode(Request("keyword"))&"&s="&Request("s")&"&isWeb="&isWeb&"&stable="&stable

	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"pagecount","")).text=Record_Count
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"loginhidden","")).text=Dvbbs.GroupSetting(37)
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"page","")).text=page
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"action","")).text=action
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"pagesize","")).text=Dvbbs.Forum_Setting(11)
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"PageStr","")).text=SearchStr
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"boardid","")).text=Dvbbs.boardid
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"keyword","")).text=KeyWord
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"isWeb","")).text=isWeb
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"sType","")).text=sType
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"isMoreInfo","")).text=isMoreInfo
	XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"SelSearch","")).text=SelSearch
	If Dvbbs.Master Or Dvbbs.SuperBoardMaster Then
		XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"Master","")).text=1
	Else
		XMLDOM.documentElement.attributes.setNamedItem(XMLDOM.createNode(2,"Master","")).text=0
	End If

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -