Kan man inte på något sätt få ihop några RecSet och få ihop dagens och totalt antal inlägg till en RecSet?
Frågan#1
Någon som har lust att hjälpa mig o optimera min forums kod? :r
Jag använder en MySQL databas av versionen 4.0.18 (windows).
<%@ LANGUAGE="VBSCRIPT" %>
<% Response.Expires=-1
Response.Buffer = True
If Session("meddelande") <> "" Then
Response.Write("<script>alert('"& Session("meddelande") &"');</script>")
Session("meddelande") = ""
End If
%>
<!-- #INCLUDE VIRTUAL="/include/koppling.asp" -->
<%
Dim username,diskusid
username=session("username")
diskusid=Request.form("diskusid")
If diskusid<>"" Then
Response.Redirect"kategori.asp?diskusid="& diskusid
End If
Connect.Execute ("update members set var_pa_sajten='Forumet', datum='" & Now() & "' where username='" & username & "'")
If Session("meddelande") <> "" Then
Response.Write("<script>alert('"& Session("meddelande") &"');</script>")
Session("meddelande") = ""
End If
%>
<html>
<!-- #INCLUDE VIRTUAL="/include/head_taggen.inc" -->
<body topmargin="5" leftmargin="5" marginwidth="5" marginheight="5">
<div align="center">
<%
Set Rs = Connect.Execute("SELECT color,diskusid,diskusrubrik,diskusbeskrivning,tb_color1,tb_color2 FROM forum ORDER BY diskusrubrik")
Do until Rs.eof
%>
<table border="1" cellspacing="0" cellpadding="0" width="80%" style="border:black 1px solid;"> <tr>
<td style="border:black 0px;" bgcolor="#<%=Rs("color")%>">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="78%"><a href="kategori.asp?diskusid=<%=rs("diskusid")%>"><strong><font color="#000000"><%=rs("diskusrubrik")%></font></strong></a><br>
<%=rs("diskusbeskrivning")%></td>
<td width="22%">
<%
sql2 = "SELECT 'postid' , COUNT(postid) from forumpost WHERE diskusid = '"& Rs("diskusid") &"'"
sql3 = "Select 'Dagens', COUNT(postid) From forumpost "& _
" WHERE diskusid = '"& Rs("diskusid") &"' AND " & _
" DAYOFMONTH(datum) = DAYOFMONTH(CURDATE()) " & _
" AND MONTH(datum) = MONTH(CURDATE()) " & _
" AND YEAR(datum) = YEAR(CURDATE())"
set rsT = connect.execute(sql2)
response.write "Totalt: " & rsT(1)
rsT.Close : Set rsT=nothing
set rsT = connect.execute(sql3)
Response.write " <br>Idag: " & rsT(1)
rsT.Close : Set rsT=nothing
%>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr bgcolor="<%=Rs("tb_color1")%>">
<td> </td>
<td><strong>Rubrik</strong></td>
<td><strong>Postades</strong></td>
<td><strong>Senaste</strong></td>
<td><strong>Läst</strong></td>
<td><strong>Svar</strong></td>
</tr>
<%
Set Rs2 = Connect.Execute("SELECT * FROM forumpost WHERE diskusid='"& Rs("diskusid") &"' AND svarid=0 ORDER BY datum2 DESC LIMIT 5")
Do until Rs2.eof
dag = DateAdd("d",-1,Date())
Set rsCount = Connect.Execute("SELECT count(postid) AS Antal FROM forumpost WHERE svarid = '"& Rs2("postid") &"'")
nummer = nummer + 1
If nummer Mod 2 = 0 then
color = Rs("tb_color1")
Else
color = Rs("tb_color2")
End If
%>
<tr bgcolor="<%=color%>">
<td width="4%"> <%
Dim ratio
ratio = rsCount("Antal") / (Now() - Rs2("datum"))
If ratio > 5 Then
Response.Write "<img src='bilder/hot.gif'>"
Else
Response.Write ""
End if
%> </td>
<td width="55%">
<%
If Rs2("flyttad")<>0 Then
Response.Write"<i>Flyttad:</i> "
End If
Response.Write("<a href='visapost.asp?postid="& Rs2("postid") &"'>"& Rs2("postrubrik") &"</a>")
If Rs2("status")=1 Then
Response.Write(" <i> (stängd)</i>")
End If
Response.Write("<br>Tråden skapad av: "& Rs2("who") &"")
%>
</td>
<td width="12%">
<%
check = DateDiff("d", Date, Rs2("datum"))
if check = 0 then
response.write "<font color='#FF0000'><b>idag</b></font><br>kl "& FormatDateTime(Rs2("datum"), 4) &" "
elseif check = -1 then
response.write "<b>igår</b><br>kl "& FormatDateTime(Rs2("datum"), 4) &" "
Else
Response.Write (""& Day(Rs2("datum")) & " " & MonthName(Month(Rs2("datum")),True) &"<br>kl "& FormatDateTime(Rs2("datum"), 4) &"")
End If
%>
</td>
<td width="11%">
<%
If Rs2("datum")<>Rs2("datum2") OR Rs2("datum2")<>"" Then
check = DateDiff("d", Date, Rs2("datum2"))
if check = 0 then
response.write "<font color='#FF0000'><b>idag</b></font><br>kl "& FormatDateTime(Rs2("datum2"), 4) &" "
elseif check = -1 then
response.write "igår<br>kl "& FormatDateTime(Rs2("datum2"), 4) &" "
Else
Response.Write (""& Day(Rs2("datum2")) & " " & MonthName(Month(Rs2("datum2")),True) &"<br>kl "& FormatDateTime(Rs2("datum2"), 4) &"")
End If
Else
Response.Write("-")
End If
%> </td>
<td width="7%"><%=Rs2("lastantal")%></td>
<td width="11%"><%=rsCount("Antal")%></td>
</tr>
<%
rsCount.Close : Set rsCount = Nothing
Rs2.movenext
loop
Rs2.Close : Set Rs2 = Nothing
nummer=0
%>
</table>
<div align="right"><a href="writepost.asp?diskusid=<%=rs("diskusid")%>"><strong><font color="#000000">Skapa
ny tråd</font></strong></a> </div></td>
</tr>
</table>
</p> <br>
<%
Rs.movenext
loop
rs.Close : Set rs = Nothing
%>
<table width="80%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center"></td>
</tr>
</table>
</div>
<p> </p>
</body>
</html>
<%
Connect.Close : Set Connect=Nothing
%>