ich versuchs mal...
>
> call showTree (reiseID, 0, 0)
>
> private function showTree (element, prnt, level)
>
Der folgende Code hat nichts in der showTree-Funktion verloren... das kannst
Du vorher einmal machen... nicht jedesmal in der Rekursion!
> if session("openReiseForum")="" then session("openReiseForum")=","
> if Request.QueryString("actionReiseforum")<>"" then
> select case Request.QueryString("actionReiseforum")
> case "open"
> session("openReiseForum") = session("openReiseForum") & _
> Request.QueryString("idForum") & ","
> case "close"
> session("openReiseForum") = replace(session("openReiseForum"), _
> "," & Request.QueryString("idForum") & ",",",")
> end select
> end if
bis hierher obiges aus der Funktion rausnehmen.
>
> set trs=Server.CreateObject ("ADODB.RecordSet")
> rs.ActiveConnection=con
> rs.LockType = adLockReadOnly
> rs.CursorType = adForwardOnly
> rs.CursorLocation = adUseClient
>
> rs.open "SELECT [frm_ID], [frm_parent], [frm_author], [frm_dateCreate],
> "&_
> "[frm_subject], [frm_ReiseID] FROM [tbl_Reiseforum] WHERE [frm_ReiseID]
> =
> " &_
> element & " AND [frm_parent] = " & prnt & " ORDER BY [frm_ID],
> [frm_parent]"
>
> while not rs.eof
>
> ID = rs.Fields("frm_ID").value
> parent = rs.Fields("frm_parent").value
> author = rs.Fields("frm_author").value
> dateCreate = rs.Fields("frm_dateCreate").value
> subject = rs.Fields("frm_subject").value
> ReiseID = rs.Fields("frm_ReiseID").value
>
>
> if instr(1, session("openReiseForum"), "," & ID & ",")=0 then
> HTMLNode = DisplayNode ("open", id, parent, author, dateCreate,
> subject,
> ReiseID, level)
> Response.Write( HTMLNode )
showTree ReiseID,parent, level+1
(Kinder offener Knoten m�ssen ausgegeben werden!)
> else
> HTMLNode = DisplayNode ("close", id, parent, author, dateCreate,
> subject, ReiseID, level)
> Response.Write( HTMLNode )
>
ab hier kannst Du alles l�schen... (Kinder geschlossener Knoten brauchen
nicht ausgegeben werden)
> set trsc=Server.CreateObject ("ADODB.RecordSet")
> trsc.ActiveConnection=con
> trsc.LockType = adLockReadOnly
> trsc.CursorType = adForwardOnly
> trsc.CursorLocation = adUseClient
>
> trsc.open "SELECT [frm_ID], [frm_parent], [frm_author],
> [frm_dateCreate], "&_
> "[frm_subject], [frm_ReiseID] FROM [tbl_Reiseforum] WHERE
> [frm_ReiseID]
> = " &_
> ReiseID & " AND [frm_parent]=" & ID & " ORDER BY [frm_ID],
> [frm_parent];"
>
> while not trsc.eof
> showTree trsc.Fields("frm_ReiseID").value,
> trsc.Fields("frm_parent").value, level+1
> trsc.movenext
> wend
> trsc.close
bis hierher....
> end if
> Response.Write("</table>")
>
> trs.movenext
> wend
> trs.close
>
> end function
>
>
Claudius
--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net
| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp