Hejsan, jag är ny här så jag inleder väl min framtida visit med en fråga:
Jag får inte nestade loopar att funka när jag ska ta ut info från databaser.
Koden är till ett forum (som jag gör i studie syfte) ser ungefär ut såhär:
<%
dim cn,rs1,rs2,SQL1,SQL2
set cn = server.createobject("ADODB.Connection")
cn.open "databas"
SQL1 = "SELCET ID,Topic,user WHERE MsgLevel = 1"
set rs = cn.execute(SQL1)
do while not rs1.eof%>
<%=rs1("topic")%> - <%=rs1("user")%><br>
<%
SQL2 = "SELECT MsgLevel,Topic,user WHERE MsgRef = "&rs("id")&" AND MsgLevel <> 1"
set rs2 = cn.execute(SQL2)
do while not rs2.eof
dim tmp, i
tmp = " "
for i = 1 to rs("MsgLevel")
tmp = tmp & " "
next
%>
<%=tmp%><%=rs("topic")%> - <%rs("user")%>
<%loop
set rs2 = nothing
SLQ2 = ""
loop
%>
Detta exemplet skrev jag nu, eftersom jag har en annan lösning på mitt script just nu "on the fly". Så koden kanske har några småfel här och där. Plus att den inte är fullständig (man kan inte se på postsen osv. Men ni förstår vad jag menar.
Detta skulle göra (ifall det funkade riktigt) så att man först fick ett ämne och sedan svaren. MsgRef är ett nummer som refererar till vilken post det är reply till. Och MsgLevel är ett nummer som refererar till hur långt till vänster reply:n ska stå. Så man får en träd funktion.
Saken är bara det att scriptet visar bara en reply per nytt ämne. Och jag kan inte för mitt liv förstå varför!
Jag har testat med att köra "exakt" samma nestade loop fast utan databas inblandning. Då funkar det hur bra som helst.
Någon som har en lösning?
Kollade i något sådant där gratis forum, men koden var så dåligt skriven så jag orkade inte engagera mig.
*Pehw* :)
Tacksam för svar eller ifall någon annan har någon annan lösning. Jag använder SQL databaser till denna.
/Magnus
