webForumDet fria alternativet

Seg forums kod?

ASP

1 svar · 134 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
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>&nbsp;</td>
          <td><strong>Rubrik</strong></td>
          <td><strong>Postades</strong></td>
            <td><strong>Senaste</strong></td>
          <td><strong>L&auml;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&aring;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>&nbsp; </p>
</body>
</html>
<%
Connect.Close : Set Connect=Nothing
%>
Medlem sedan nov. 20031 018 inlägg
#2

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?

255 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)