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

📄 admin_forums.asp

📁 代码名称: Snitz Forums 2000 代码语言: 英文 代码类型: 国外代码 运行环境: ASP 授权方式: 免费代码 代码大小: 530kb 代码等级: 3 整
💻 ASP
📖 第 1 页 / 共 4 页
字号:
			strSql = "SELECT count(FORUM_ID) AS cnt "
			strSql = strSql & " FROM " & strTablePrefix & "TOPICS "
			strSql = strSql & " WHERE FORUM_ID = " & rs("FORUM_ID")

			set rs1 = my_Conn.Execute( strSql)
			if rs1.EOF or rs1.BOF then
				intF_TOPICS = 0
			else
				intF_TOPICS = rs1("cnt")
			end if
			rs1.Close

			'## Forum_SQL - count total number of archived topics in each forum in A_Topics table
			strSql = "SELECT count(FORUM_ID) AS cnt "
			strSql = strSql & " FROM " & strTablePrefix & "A_TOPICS "
			strSql = strSql & " WHERE FORUM_ID = " & rs("FORUM_ID")

			set rs1 = my_Conn.Execute( strSql)
			if rs1.EOF or rs1.BOF then
				intF_A_TOPICS = 0
			else
				intF_A_TOPICS = rs1("cnt")
			end if
			rs1.Close

			strSql = "UPDATE " & strTablePrefix & "FORUM "
			strSql = strSql & " SET F_TOPICS = " & intF_TOPICS
			strSql = strSql & " , F_A_TOPICS = " & intF_A_TOPICS
			strSql = strSql & " WHERE FORUM_ID = " & rs("FORUM_ID")

			my_conn.execute(strSql),,adCmdText + adExecuteNoRecords

			rs.MoveNext
			Response.Write "."
			if i = 80 then 
				Response.Write "<br />"
				i = 0
			end if
		loop
	end if
	rs.Close

	Response.Write	"</font></td>" & vbNewLine & _
			"                          </tr>" & vbNewLine & _
			"                          <tr>" & vbNewLine & _
			"                            <td align=""right"" valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>Topic Replies:</font></td>" & vbNewLine & _
			"                            <td valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>"

	'## Forum_SQL
	strSql = "SELECT TOPIC_ID, T_REPLIES FROM " & strTablePrefix & "TOPICS" & fIDSQL2

	rs.Open strSql, my_Conn
	i = 0 

	do until rs.EOF
		i = i + 1

		'## Forum_SQL - count total number of replies in Topics table
		strSql = "SELECT count(REPLY_ID) AS cnt "
		strSql = strSql & " FROM " & strTablePrefix & "REPLY "
		strSql = strSql & " WHERE TOPIC_ID = " & rs("TOPIC_ID")

		rs1.Open strSql, my_Conn
		if rs1.EOF or rs1.BOF or (rs1("cnt") = 0) then
			intT_REPLIES = 0
		else
			intT_REPLIES = rs1("cnt")
		end if
	
		strSql = "UPDATE " & strTablePrefix & "TOPICS "
		strSql = strSql & " SET T_REPLIES = " & intT_REPLIES
		strSql = strSql & " WHERE TOPIC_ID = " & rs("TOPIC_ID")

		my_conn.execute(strSql),,adCmdText + adExecuteNoRecords

		rs1.Close
		rs.MoveNext
		Response.Write "."
		if i = 80 then 
			Response.Write "<br />"
			i = 0
		end if
	loop
	rs.Close

	Response.Write 	"</font></td>" & vbNewline & _
			"                          </tr>" & vbNewline & _
			"                          <tr>" & vbNewline & _
			"                            <td align=""right"" valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>Forum Replies:</font></td>" & vbNewline & _
			"                            <td valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>"

	'## Forum_SQL - Get values from Forum table needed to count replies
	strSql = "SELECT FORUM_ID, F_COUNT FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "

	rs.Open strSql, my_Conn, adOpenDynamic, adLockOptimistic, adCmdText

	do until rs.EOF
		'## Forum_SQL - Count total number of Replies
		strSql = "SELECT Sum(" & strTablePrefix & "TOPICS.T_REPLIES) AS SumOfT_REPLIES, Count(" & strTablePrefix & "TOPICS.T_REPLIES) AS cnt "
		strSql = strSql & " FROM " & strTablePrefix & "TOPICS "
		strSql = strSql & " WHERE " & strTablePrefix & "TOPICS.FORUM_ID = " & rs("FORUM_ID")

		rs1.Open strSql, my_Conn

		if rs1.EOF or rs1.BOF then
			intF_COUNT = 0
			intF_TOPICS = 0
		else
			intF_COUNT = rs1("cnt") + rs1("SumOfT_REPLIES")
			intF_TOPICS = rs1("cnt") 
		end if
		if IsNull(intF_COUNT) then intF_COUNT = 0 
		if IsNull(intF_TOPICS) then intF_TOPICS = 0 

		rs1.Close

		'## Forum_SQL - Count total number of Archived Replies
		strSql = "SELECT Sum(" & strTablePrefix & "A_TOPICS.T_REPLIES) AS SumOfT_A_REPLIES, Count(" & strTablePrefix & "A_TOPICS.T_REPLIES) AS cnt "
		strSql = strSql & " FROM " & strTablePrefix & "A_TOPICS "
		strSql = strSql & " WHERE " & strTablePrefix & "A_TOPICS.FORUM_ID = " & rs("FORUM_ID")
	
		rs1.Open strSql, my_Conn

		if rs1.EOF or rs1.BOF then
			intF_A_COUNT = 0
			intF_A_TOPICS = 0
		else
			intF_A_COUNT = rs1("cnt") + rs1("SumOfT_A_REPLIES")
			intF_A_TOPICS = rs1("cnt") 
		end if
		if IsNull(intF_A_COUNT) then intF_A_COUNT = 0 
		if IsNull(intF_A_TOPICS) then intF_A_TOPICS = 0 

		rs1.Close

		strSql = "UPDATE " & strTablePrefix & "FORUM "
		strSql = strSql & " SET F_COUNT = " & intF_COUNT
		strSql = strSql & ",  F_TOPICS = " & intF_TOPICS
		strSql = strSql & ",  F_A_COUNT = " & intF_A_COUNT
		strSql = strSql & ",  F_A_TOPICS = " & intF_A_TOPICS
		strSql = strSql & " WHERE FORUM_ID = " & rs("FORUM_ID")
	
		my_conn.execute(strSql),,adCmdText + adExecuteNoRecords

		rs.MoveNext
		Response.Write "."
		if i = 80 then 
			Response.Write "<br />" & vbNewline
			i = 0
		end if	
	loop
	rs.Close

	Response.Write	"</font></td>" & vbNewline & _
			"                          </tr>" & vbNewline & _
			"                          <tr>" & vbNewline & _
			"                            <td align=""right"" valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>Totals:</font></td>" & vbNewline & _
			"                            <td valign=""top""><font face=""" & strDefaultFontFace & """ size=""" & strFooterFontSize & """ color=""" & strForumFontColor & """>"
	'## Forum_SQL - Total of Topics
	strSql = "SELECT Sum(" & strTablePrefix & "FORUM.F_TOPICS) "
	strSql = strSql & " AS SumOfF_TOPICS "
	strSql = strSql & " FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "

	rs.Open strSql, my_Conn

	Response.Write "Total Topics: " & RS("SumOfF_TOPICS") & "<br />" & vbNewline
	strSumOfF_TOPICS = rs("SumOfF_TOPICS")

	rs.Close

	'## Forum_SQL - Total of Archived Topics
	strSql = "SELECT Sum(" & strTablePrefix & "FORUM.F_A_TOPICS) "
	strSql = strSql & " AS SumOfF_A_TOPICS "
	strSql = strSql & " FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "

	rs.Open strSql, my_Conn

	Response.Write "Total Archived Topics: " & RS("SumOfF_A_TOPICS") & "<br />" & vbNewline
	strSumOfF_A_TOPICS = rs("SumOfF_A_TOPICS")

	rs.Close
	
	'## Forum_SQL - Total all the replies for each topic
	strSql = "SELECT Sum(" & strTablePrefix & "FORUM.F_COUNT) "
	strSql = strSql & " AS SumOfF_COUNT "
	strSql = strSql & ", Sum(" & strTablePrefix & "FORUM.F_A_COUNT) "
	strSql = strSql & " AS SumOfF_A_COUNT "
	strSql = strSql & " FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "

	set rs = my_Conn.Execute (strSql)

	if rs("SumOfF_COUNT") <> "" then
		Response.Write "Total Posts: " & RS("SumOfF_COUNT") & "<br />" & vbNewline
		strSumOfF_COUNT = rs("SumOfF_COUNT")
	else
		Response.Write "Total Posts: 0<br />" & vbNewline
		strSumOfF_COUNT = "0"
	end if

	if rs("SumOfF_A_COUNT") <> "" then
		Response.Write "Total Archived Posts: " & RS("SumOfF_A_COUNT") & "<br />" & vbNewline
		strSumOfF_A_COUNT = rs("SumOfF_A_COUNT")
	else
		Response.Write "Total Archived Posts: 0<br />" & vbNewline
		strSumOfF_A_COUNT = "0"
	end if

	set rs = nothing
	'## Forum_SQL - Write totals to the Totals table
	strSql = "UPDATE " & strTablePrefix & "TOTALS "
	strSql = strSql & " SET T_COUNT = " & strSumOfF_TOPICS
	strSql = strSql & ", P_COUNT = " & strSumOfF_COUNT
	strSql = strSql & ", T_A_COUNT = " & strSumOfF_A_TOPICS
	strSql = strSql & ", P_A_COUNT = " & strSumOfF_A_COUNT

	my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords

	Response.Write	"</font></td>" & vbNewline & _
			"                          </tr>" & vbNewLine & _
			"                          <tr>" & vbNewLine & _
			"                            <td align=""center"" colspan=""2"">&nbsp;<br /><b><font face=""" & strDefaultFontFace & """ size=""" & strfooterFontSize & """ color=""" & strForumFontColor & """>Count Update Complete</font></b></font></td>" & vbNewline & _
			"                          </tr>" & vbNewLine & _
			"                        </table>"
	set rs = nothing
	set rs1 = nothing
End Sub

WriteFooter
Response.End
%>

⌨️ 快捷键说明

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