K Kent Medlem sedan juli 2000 355 inlägg Frågan 5 mars 2001 00:44 #1 Varför funkar inte denna kod för att räkna svar i ett forum,?
SQL = "select COUNT(*) AS svar from Inlagg where forum_id="&Request.QueryString("id")
Set RS2 = databas.execute(SQL)
den skriver ut ca 100-150 dubbla kopior av varje inlägg, vad kan detta bero på.?
@nders Medlem sedan juni 2000 32 967 inlägg ge oss lite mer kod, så ska vi se.
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Vide Medlem sedan dec. 1999 8 577 inlägg Hur är forumet uppbyggt?
------------------
Jourhavande @e SweQuake.com
K Kent Medlem sedan juli 2000 355 inlägg Do while not RS.EOF
SQL = "select COUNT(*) AS svar from Inlagg where forum_id="&Request.QueryString("id")
Set RS2 = databas.execute(SQL)
%>
<tr>
<td><%=RS("namn")%></td>
<td><%=RS2("svar")%></td>
</tr>
<%
RS.MoveNext
Loop
%>
L LarsG Medlem sedan dec. 2000 12 464 inlägg
den skriver ut ca 100-150 dubbla kopior av varje inlägg, vad kan detta bero på.?
Är det att den skriver ut samma namn flera gånger. (<td><%=RS("namn")%></td> )
I så fall beror det på den fråga som hör i hop med RS och vad du har för data i dina tabeller.
------------------
essentitia preter non sans multiplicandum
K Kent Medlem sedan juli 2000 355 inlägg Om jag tar bort räknaren så funkar forumet helt felfritt, det är när jag lägger till den som den skriver ut en massa samma poster.
Toonster Medlem sedan feb. 2000 1 590 inlägg RS2("svar") är ju egentligen benämningen på ett fält, ska det inte bara vara =svar?
Eller har du antal svar lagrat i databasen, konfundersam...
/T
------------------
"Den som väntar på någon som gått behöver inte vänta längre..."
@nders Medlem sedan juni 2000 32 967 inlägg svar till toonster:
SQL = "select COUNT(*) AS svar"
antalet svar hämtas till ett uträknat fält med alias svar. detta fält finns inte i tabellen utan skapas av frågan.
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>
Vide Medlem sedan dec. 1999 8 577 inlägg Men om du ändå använder ett statiskt id (Request.QueryString("id")), så kan du väl lägga den utanför loopen, eller?
------------------
Jourhavande @e SweQuake.com
K Kent Medlem sedan juli 2000 355 inlägg Det är alltså inte ett enda forum utan flera forum med olika id'n, ex, forum.asp?id=2, så då går det väl inte med,
SQL = "select COUNT(*) AS svar".?
Vide Medlem sedan dec. 1999 8 577 inlägg Njo, du för ta id:t ifrån databasen:
SQL = "select COUNT(*) AS svar from Inlagg where forum_id="&rs("id")
------------------
Jourhavande @e SweQuake.com
K Kent Medlem sedan juli 2000 355 inlägg NU skriver den inte ut ett enda inlägg och visar att det finns 11 svar.
E Eclipse Medlem sedan juli 2000 3 825 inlägg Hur ser dina tabeller i databasen ut egentligen?
Fyll på det som saknas:
[forum]
id - räknare
namn - nam på tråd
[inlagg]
id - räknare
forumID - int, forum
------------------
Never underestimate your opponents.
E Eclipse Medlem sedan juli 2000 3 825 inlägg
Det är alltså inte ett enda forum utan flera forum med olika id'n, ex, forum.asp?id=2, så då går det väl inte med, SQL = "select COUNT(*) AS svar".?
index.asp?id=2
Är det så det funkar så är det loopen det är fel på! :-)
Ta bort den i så fall, skriv bara så här;
' ## NAMN
SQL = "SELECT [namn] FROM [forum] WHERE [id] = "& request("id") & ";"
Set RS1 = databas.execute(SQL)
on error resume next
' ## ANTAL
SQL = "SELECT COUNT(*) AS svar FROM [Inlagg] where [forum_id] = "& request("id") & ";"
Set RS2 = databas.execute(SQL)
on error resume next
response.write "Namn: " & RS1("namn") & " antal: " & RS2("antal")
------------------
Never underestimate your opponents.