19. maj 2003 - 09:06Der er
10 kommentarer og 1 løsning
Hjælp med Loop i loop
Hej!
Jeg har et stort problem med et loop som skal indeholde et andet loop.
Jeg har følgende selects :
'####### mainMenu ############ '## Create db objects and SQL set mainmenuConn = Server.CreateObject("ADODB.Connection") mainmenuConn.Open Application("ConnectString") set rsmainmenu = Server.CreateObject("ADODB.Recordset")
mainmenuSql = "SELECT * FROM mainmenu ORDER BY mainmenu.recordid;" set rsmainmenu = mainmenuConn.Execute(mainmenuSql)
'####### Menu ############ '## Create db objects and SQL set menuConn = Server.CreateObject("ADODB.Connection") menuConn.Open Application("ConnectString") set rsmenu = Server.CreateObject("ADODB.Recordset")
menuSql = "SELECT DISTINCT mainmenu.mainmenu AS mainmenu, mainmenu.recordid AS recordid, link.link AS link FROM mainmenu INNER JOIN link ON mainmenu.recordid = link.menuid GROUP BY mainmenu.mainmenu, mainmenu.recordid, link.link ORDER BY mainmenu.recordid;"
set rsmenu = menuConn.Execute(menuSql)
og den løkke jeg ikke kan få til at virke skal være noget ala dette :
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Så vidt jeg kan forstå det, så du nød til at lave nummer 2 SQL så den har en WHERE del så du får hendtet de rigtige punkter ud for hver select.
'####### mainMenu ############ '## Create db objects and SQL set mainmenuConn = Server.CreateObject("ADODB.Connection") mainmenuConn.Open Application("ConnectString") set rsmainmenu = Server.CreateObject("ADODB.Recordset")
mainmenuSql = "SELECT * FROM mainmenu ORDER BY mainmenu.recordid;" set rsmainmenu = mainmenuConn.Execute(mainmenuSql)
'####### Menu ############ '## Create db objects and SQL set menuConn = Server.CreateObject("ADODB.Connection") menuConn.Open Application("ConnectString") set rsmenu = Server.CreateObject("ADODB.Recordset")
<tr> <td width="100"><font size="1"><b> </b></font></td> <td width="200"> <% While (not rsmainmenu.EOF)%> <span id="sub<%=trim(rsmainmenu("recordid"))%>"> <select name="sub<%=rsmainmenu("mainmenu")%>" onchange="closeselect(this,'sub<%=trim(rsmainmenu("recordid"))%>')"> <option selected value="">Vælg...</option> <% menuSql = "SELECT * FROM link WHERE link.menuid = " & rsmainmenu("recordid") & ";"
Hvis du ikke får nogle <options> frem så skyldes det at rsmenu.EOF er true fra starten af og det betyder der ikke er nogle records i recordsetet. Så tjek at der virkelig er nogle post i link tabellen og tjek at linkID i link tabellen passer med det rigtigt recordID i den anden tabel som er den menu den høre til.
Prøv i IE at vælge Vis Kode og se om det skulle være det afligevel. Er det hele din kode for filen, for hvis man mangler <table> og </table> tags er det ikke sikker det inde i <tr> vises rigtigt.
Jeg har nu løst problemet, og fundet ud af at problemet lå i at jeg lavede 2 loops med den samme result set, så nu har jeg lavet den ud til 2 stk, og så virker det :-)
Du skal have mange tak for hjælpen :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.