Förstår inte riktigt vad som är fel med denna kod, den skriver ut alla inlägg men 100ggr dubbelt, med en rubrik och 100 likadana svar, vad är fel.?
<!-- #INCLUDE FILE="config.asp" -->
<%
Dim connection
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxx-forum;Password=xxx"
Set rs2 = connection.Execute("SELECT * FROM Forum2 WHERE cInt(Id) = '" & Request.QueryString("Forum") & "'")
forumID=rs2("ID")
forumnamn=rs2("Namn")
foruminfo=rs2("info")
%>
<%call disp(0, 0)%> <%
Sub disp(id,level)
if level = 0 then
Set rs = connection.Execute("SELECT * FROM Forum where Svara = '" & cStr(id) & "' AND Forum='" & Request.QueryString("forum") & "'order by ID DESC")
else
Set rs = connection.Execute("SELECT * FROM Forum where Svara = '" & cStr(id) & "' AND Forum='" & Request.QueryString("forum") & "'order by ID")
end if
do until rs.eof
ID = rs("ID")
Namn = rs("Namn")
Email = rs("Email")
Forum=rs("Forum")
Rubrik = rs("Rubrik")
Tid2 = rs("Tid")
if level > 0 then
str=""
for j=1 to level
str=str & "<img src=""blank.gif"" border=0>"
next
end if
if level=0 then str="<img src=""top.gif"">"
if level > 0 then str=str & "<img src=""top2.gif"">"
%> <%=str%><a href="las_forum.asp?id=<%=ID%>&forum=<%=Forum%>"><%=Rubrik%></a> <%=av%> <%=Namn%> <%=Tid%><br>
<%
call disp(ID, level+1)
rs.movenext
loop
End Sub
%>
"WHERE cInt(Id)='" blir lite lustigt. Du ska inte behöva typkonvertera något, och konverterar ¨du till inetegr, så ska du inte ha några fnuttar. Konstigt att den går igenom, överhuvud taget.
"SELECT * FROM Forum2 WHERE Id = " & Request.QueryString("Forum")
borde det vara...
..eller har du "Svara" och "ID" som text, och inte tal. Varför i så fall? Tänk på att du kan sätta bredden på blank.gif, i stället för att repetera den.
mvh
------------------
Gunnar Liljas - webbutvecklare
Leon Reklambyrå AB
... och sätter man vidden så bör man oxå tänka på att sätta höjden .... annars ökar höjden när man ökar bredden med samma proportion som bredd ökningen,
Har helt kört fast nu, har ändrat lite i koden och den ser nu ut som denna:
<%
Dim connection
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "DSN=xxx-forum;Password=xxx"
SQLStmt = "SELECT * FROM Forum where Id = " & Request.QueryString("Forum")
Set RS2 = Connection.Execute(SQLStmt)
forumID=RS2("ID")
forumnamn=RS2("fldNamn")
foruminfo=RS2("fldinfo")
%>
<a href="nytt.asp?forum=<%=forumID%>&Svara=0">Nytt inlägg</a>
<%
call disp(0, 0)
%>
<%
Sub disp(id,level)
If level = 0 then
SQL = "SELECT * FROM Forum2 where fldSvara = '" & cStr(id) & "' AND fldForum='" & Request.QueryString("forum") & "'order by fldID DESC"
Set RS3 = connection.Execute(SQL)
Else
SQL = "SELECT * FROM Forum2 where fldSvara = '" & cStr(id) & "' AND fldForum='" & Request.QueryString("forum") & "'order by fldID"
Set RS4 = connection.Execute(SQL)
End If
Do Until RS.EOF
ID = RS("fldID")
Namn = RS("fldNamn")
Email = RS("fldEmail")
Forum = RS("fldForum")
Titel = RS("fldTitel")
Tid2 = RS("fldTid")
If level > 0 then
str=""
for j=1 to level
str=str & "<img src=""blank.gif"" border=0>"
Next
End if
If level=0 then str="<img src=""1.gif"">"
If level > 0 then str=str & "<img src=""2.gif"">"
%><%=str%>
<a href="las_forum.asp?id=<%=ID%>&forum=<%=Forum%>"><%=Titel%></a> <%=av%> <%=Namn%> <%=Tid2%><br>
<%
call disp(ID, level+1)
RS.MoveNext
Loop
End Sub
%>
nu får jag upp att något typblandningsfel ligger på denna rad, Set RS3 = connection.Execute(SQL).
Vad är felet.??