📄 admin_count.asp
字号:
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
if rs.EOF then
recTopicCount = ""
else
allTopicData = rs.GetRows(adGetRowsRest)
recTopicCount = UBound(allTopicData,2)
end if
rs.close
set rs = nothing
if recTopicCount <> "" then
fTOPIC_ID = 0
i = 0
for iTopic = 0 to recTopicCount
TopicID = allTopicData(fTOPIC_ID,iTopic)
i = i + 1
'## Forum_SQL - count total number of unmoderated replies in Topics table
strSql = "SELECT count(REPLY_ID) AS cnt "
strSql = strSql & " FROM " & strTablePrefix & "REPLY "
strSql = strSql & " WHERE TOPIC_ID = " & TopicID
strSql = strSql & " AND R_STATUS = 2 OR R_STATUS = 3 "
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
if rs.EOF then
recReplyCntCount = ""
else
allReplyCntData = rs.GetRows(adGetRowsRest)
recReplyCntCount = UBound(allReplyCntData,2)
end if
rs.close
set rs = nothing
if recReplyCntCount <> "" then
fReplyCnt = 0
for iCnt = 0 to recReplyCntCount
intT_UREPLIES = allReplyCntData(fReplyCnt,iCnt)
next
else
intT_UREPLIES = 0
end if
strSql = "UPDATE " & strTablePrefix & "TOPICS "
strSql = strSql & " SET T_UREPLIES = " & intT_UREPLIES
strSql = strSql & " WHERE TOPIC_ID = " & TopicID
my_conn.execute(strSql),,adCmdText + adExecuteNoRecords
Response.Write "."
if i = 80 then
Response.Write " <br />" & vbNewline
i = 0
end if
next
end if
Response.Write " </font></td>" & vbNewline
Response.Write " </tr>" & vbNewline
elseif intStep = 4 then
Response.Write " <tr>" & vbNewline
Response.Write " <td align=""right"" valign=""top""><font face=""" & strDefaultFontFace & """>Forum Replies:</font></td>" & vbNewline
Response.Write " <td valign=top><font face=""" &strDefaultFontFace & """>"
'## Forum_SQL - Get values from Forum table needed to count replies
strSql = "SELECT FORUM_ID, F_COUNT FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "
set rs = Server.CreateObject("ADODB.Recordset")
rs.open strSql, my_Conn, adOpenForwardOnly, adLockReadOnly, adCmdText
if rs.EOF then
recForumCount = ""
else
allForumData = rs.GetRows(adGetRowsRest)
recForumCount = UBound(allForumData,2)
end if
rs.close
set rs = nothing
if recForumCount <> "" then
fFORUM_ID = 0
fF_COUNT = 1
i = 0
for iForum = 0 to recForumCount
ForumID = allForumData(fFORUM_ID,iForum)
ForumCount = allForumData(fF_COUNT,iForum)
i = i + 1
'## 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 = " & ForumID
strSql = strSql & " AND " & strTablePrefix & "TOPICS.T_STATUS <= 1"
set rs1 = my_Conn.Execute(strSql)
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
set rs1 = nothing
'## Forum_SQL - Count total number of Archived Replies
strSql = "SELECT Sum(" & strTablePrefix & "A_TOPICS.T_REPLIES) AS SumOfT_REPLIES, Count(" & strTablePrefix & "A_TOPICS.T_REPLIES) AS cnt "
strSql = strSql & " FROM " & strTablePrefix & "A_TOPICS "
strSql = strSql & " WHERE " & strTablePrefix & "A_TOPICS.FORUM_ID = " & ForumID
strSql = strSql & " AND " & strTablePrefix & "A_TOPICS.T_STATUS <= 1"
set rs1 = my_Conn.Execute(strSql)
if rs1.EOF or rs1.BOF then
intF_A_COUNT = 0
intF_A_TOPICS = 0
else
intF_A_COUNT = rs1("cnt") + rs1("SumOfT_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
set rs1 = nothing
'## Forum_SQL - Get last_post and last_post_author for Forum
strSql = "SELECT T_LAST_POST, T_LAST_POST_AUTHOR "
strSql = strSql & " FROM " & strTablePrefix & "TOPICS "
strSql = strSql & " WHERE FORUM_ID = " & ForumID & " "
strSql = strSql & " AND " & strTablePrefix & "TOPICS.T_STATUS <= 1"
strSql = strSql & " ORDER BY T_LAST_POST DESC"
set rs2 = my_Conn.Execute (strSql)
if not (rs2.eof or rs2.bof) then
strLast_Post = rs2("T_LAST_POST")
strLast_Post_Author = rs2("T_LAST_POST_AUTHOR")
else
strLast_Post = ""
strLast_Post_Author = ""
end if
set rs2 = nothing
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
if strLast_Post <> "" then
strSql = strSql & ", F_LAST_POST = '" & strLast_Post & "' "
if strLast_Post_Author <> "" then
strSql = strSql & ", F_LAST_POST_AUTHOR = " & strLast_Post_Author
end if
end if
strSql = strSql & " WHERE FORUM_ID = " & ForumID
my_conn.execute(strSql),,adCmdText + adExecuteNoRecords
Response.Write "."
if i = 80 then
Response.Write " <br />" & vbNewline
i = 0
end if
next
end if
Response.Write " </font></td>" & vbNewline
Response.Write " </tr>" & vbNewline
elseif intStep = 5 then
Response.Write " <tr>" & vbNewline
Response.Write " <td align=""right"" valign=""top""><font face=""" &strDefaultFontFace & """>Totals:</font></td>" & vbNewline
Response.Write " <td valign=""top""><font face=""" &strDefaultFontFace & """>"
'## Forum_SQL - Total of Topics
strSql = "SELECT Sum(" & strTablePrefix & "FORUM.F_TOPICS) "
strSql = strSql & " AS SumOfF_TOPICS "
strSql = strSql & ", Sum(" & strTablePrefix & "FORUM.F_A_TOPICS) "
strSql = strSql & " AS SumOfF_A_TOPICS "
strSql = strSql & " FROM " & strTablePrefix & "FORUM WHERE F_TYPE <> 1 "
set rs = my_Conn.Execute(strSql)
if rs("SumOfF_TOPICS") <> "" then
Response.Write "Total Topics: " & rs("SumOfF_TOPICS") & "<br />" & vbNewline
intSumOfF_TOPICS = rs("SumOfF_TOPICS")
else
Response.Write "Total Topics: 0<br />" & vbNewLine
intSumOfF_TOPICS = 0
end if
if rs("SumOfF_A_TOPICS") <> "" then
Response.Write "Archived Topics: " & rs("SumOfF_A_TOPICS") & "<br />" & vbNewline
intSumOfF_A_TOPICS = rs("SumOfF_A_TOPICS")
else
Response.Write "Archived Topics: 0<br />" & vbNewLine
intSumOfF_A_TOPICS = 0
end if
'## Forum_SQL - Write total Topics to Totals table
strSql = "UPDATE " & strTablePrefix & "TOTALS "
strSql = strSql & " SET T_COUNT = " & intSumOfF_TOPICS
strSql = strSql & " , T_A_COUNT = " & intSumOfF_A_TOPICS
set rs = nothing
my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
'## 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
intSumOfF_COUNT = rs("SumOfF_COUNT")
else
Response.Write " Total Posts: 0<br />" & vbNewline
intSumOfF_COUNT = 0
end if
if rs("SumOfF_A_COUNT") <> "" then
Response.Write " Total Archived Posts: " & RS("SumOfF_A_COUNT") & "<br />" & vbNewline
intSumOfF_A_COUNT = rs("SumOfF_A_COUNT")
else
Response.Write " Total Posts: 0<br />" & vbNewline
intSumOfF_A_COUNT = 0
end if
'## Forum_SQL - Write total replies to the Totals table
strSql = "UPDATE " & strTablePrefix & "TOTALS "
strSql = strSql & " SET P_COUNT = " & intSumOfF_COUNT
strSql = strSql & " , P_A_COUNT = " & intSumOfF_A_COUNT
set rs = nothing
my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
'## Forum_SQL - Total number of users
strSql = "SELECT Count(MEMBER_ID) "
strSql = strSql & " AS CountOf "
strSql = strSql & " FROM " & strMemberTablePrefix & "MEMBERS"
set rs = my_Conn.Execute(strSql)
Response.Write " Registered Users: " & rs("Countof") & "<br />" & vbNewline
'## Forum_SQL - Write total number of users to Totals table
strSql = " UPDATE " & strTablePrefix & "TOTALS "
strSql = strSql & " SET U_COUNT = " & cLng(RS("Countof"))
set rs = nothing
my_Conn.Execute (strSql),,adCmdText + adExecuteNoRecords
Response.Write " </font></td>" & vbNewline
Response.Write " </tr>" & vbNewline
Response.Write " <tr>" & vbNewline
Response.Write " <td align=""center"" colspan=""2""> <br />" & vbNewline
Response.Write " <b><font face=""" & strDefaultFontFace & """ size=""" & strHeaderFontSize & """>Count Update Complete</font></b></font></td>" & vbNewline
Response.Write " </tr>" & vbNewline
Response.Write " <tr>" & vbNewline
Response.Write " <td align=""center"" colspan=""2""> <br />" & vbNewline
Response.Write " <a href=""admin_home.asp""><font face=""" & strDefaultFontFace & """ size=""" & strDefaultFontSize & """ color=""" & strDefaultFontColor & """>Back to Admin Home</font></a></td>" & vbNewline
Response.Write " </tr>" & vbNewline
end if
response.write " </table>"
WriteFooter
Response.End
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -