webForumDet fria alternativet

Räkna antal svar på trådar

ASP

7 svar · 241 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

Sitter o gör ett litet forum, när alla trådar listas finnsäven antal svar för varje tråd med.

Har två tabeller, en med alla svar, en med alla ämnen.

Så i loopen i utskriften av alla trådar vill jag att den ska räkna antalet svar för varje tråd och skriva med det i loopen.

tabellen med svar innehåller en kolumn, "Svar_ID" som anger för vilken tråd svaret tillhör.

Hur borde min loop se ut, jag kommer få använda fler RecSet's, men ett exempel eller ngra tips på smarta lösningar vore himla bra ;)

Medlem sedan juni 200032 967 inlägg
#2

Det bästa vore ju om du kunde ta fram den informationen i samma SQL-fråga som den som listar trådar.

Man kan också tänka sig att ha ett fält i trådtabellen som innehåller antalet svar, som du uppdaterar med 1 för varje nytt svar.

Mvh

Medlem sedan aug. 20003 575 inlägg
#3

strSql = "Select Count(*) as intSvar from [tabellnamn] where svar_id = "+id+""

Set Rs = objConn.Execute(strSql)

intAntal = Rs(0)

Medlem sedan jan. 20032 285 inlägg
#4

Du kan ju göra såhär, även om det säkert finns ett smartare sätt.

strSQL = "SELECT * FROM tblTråd WHERE forumid = " & Request.QueryString("forumid")
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
  Do Until objRS.EOF
    strSQL = "SELECT COUNT(*) FROM tblSvar WHERE Svar_ID = " & objRS("trådid")
    Set objRS2 = objConn.Execute(strSQL)
    Response.Write(objRS2(0) & " svar.")
    objRS.MoveNext
  Loop
End If

Set objRS = Nothing : Set objRS2 = Nothing

Detta är säkert väldigt prestandakrävande, men det var det enda sättet jag kunde komma på så här snabbt. :)

Medlem sedan feb. 20034 441 inlägg
#5

vad betyder +id+ ??

Såhär ser if koden ut:

strSQL= "SELECT * FROM tbl_forum_subj WHERE Forum_ID = 'oppet'"' ORDER BY Datum DESC;"

oRec.Open strSQL, oConn, 1, 3
%>
<table width='100%' border='0' height='10'>
<tr><td height='10' width='50%' align='left' bgcolor='#FCFDCD'><b><u>Tråd</u></b></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Startad Av</u></b></td><td width='10%' align='center' bgcolor='#FCFDCD'><b><u>Svar</b></u></td><td width='20%' align='center' bgcolor='#FCFDCD'><b><u>Senaste Svar</u></b></td></tr>
<%
oRec.PageSize = 10 '<-- Här bestämmer du hur många inlägg det ska finnas på sidan
oRec.AbsolutePage = nextPage

Do until oRec.EOF OR rowCount = oRec.PageSize
rowCount = rowCount + 1

%>
<tr><td height='10' width='50%' align='left'><font face='verdana' color='#000000' size='2'><%=oRec("Amne")%></td><td width='20%' align='center' bgcolor='#FCFDCD'><%=oRec("Skribent")%></td><td width='10%' align='center'><%=oRec("Amne")%></td><td width='20%' align='right' bgcolor='#FCFDCD'></font><font face='verdana' color='#000000' size='1'><%=oRec("Amne")%><br>Av: <%=oRec("Skribent")%></font></td></tr>

<%	
	oRec.MoveNext

Loop
%>

Hur kan jag pilla in din grejj i koden Nickemannen??

Jag har i tabellen för trådar en kolumn, antal svar, men funderar poå om det möjligen går att lösa på smidigare sätt.

Medlem sedan feb. 20034 441 inlägg
#6

Oops, nu kom visst Sebbe men ett svar som jag inte hann se innan jag postade, menkanske det bä'sta trots allt vore att ha kvar min "antal_svar" kolumn.

Medlem sedan juni 200032 967 inlägg
#7

Prestandamässigt är det i alla fall bäst att använda en sådan kolumn.

Mvh

Medlem sedan feb. 20034 441 inlägg
#8

Ok då gör jag det, sen kör jag dubbla SQL satser vid ny postning, den ena som sätter in det nya svaret och en som uppdaterar antalet svar.

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)