Nu har jeg prøvet at teste det, men den smider kun 10 ud som tal. Min kode ser sådan ud:
<script> <!--
var groups=document.doublecombo.example.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array()
<% '####### Mainmenu2 ############ '## Create db objects and SQL set mainmenu2Conn = Server.CreateObject("ADODB.Connection") mainmenu2Conn.Open Application("ConnectString") Set rsmainmenu2 = Server.CreateObject("ADODB.Recordset")
mainmenu2Sql = "SELECT * FROM prodmainnav ORDER BY prodmainnav.id;"
Set rsmainmenu2 = mainmenu2Conn.Execute(mainmenu2Sql)
While (not rsmainmenu2.EOF) %> <% taeller = 0 do until taeller = 10 taeller = taeller + 1 loop %> <% '####### Submenu ############ '## Create db objects and SQL set submenuConn = Server.CreateObject("ADODB.Connection") submenuConn.Open Application("ConnectString") Set rssubmenu = Server.CreateObject("ADODB.Recordset")
submenuSql = "SELECT * FROM prodsubcat WHERE prodsubcat.maincatid = " & rsmainmenu2("id") & " ORDER BY prodsubcat.id;"
Set rssubmenu = submenuConn.Execute(submenuSql)
While (not rssubmenu.EOF) %> <% taeller2 = 0 do until taeller2 = 10 taeller2 = taeller2 + 1 loop %> group[<%Response.Write taeller%>][<%Response.Write taeller%>]=new Option("<%=rssubmenu("subcat")%>")
function redirect(x){ for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++){ temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true }
function go(){ location=temp.options[temp.selectedIndex].value } //--> </script>
ved ikke om du kan bruge dette til noget: taeller=0 Set rsmainmenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") if not rsMainMenu2.EOF then do until rsMainMenu2.EOF taeller=taeller+1 taeller2=0
do until taeller2=10 taeller2=taeller2+1 %>group[<%Response.Write taeller%>][<%Response.Write taeller2%>]=new Option("<%=rssubmenu("subcat")%>")<% loop
rs.movenext ' GÅR TIL NÆSTE EMNE I DB loop end if rsmainmenu2.close set rsmainmenu2=nothing
Det går op i hat og briller nu! Nu smider den 700 linier kode ud som bla. ser sådan her ud
group[1][1]=new Option("Stig")
med 20 af hvert tal
og jeg har sat det sådan her:
<% taeller = 0 do until taeller = 10 taeller = taeller + 1 %> <% '####### Mainmenu2 ############ '## Create db objects and SQL set mainmenu2Conn = Server.CreateObject("ADODB.Connection") mainmenu2Conn.Open Application("ConnectString") Set rsmainmenu2 = Server.CreateObject("ADODB.Recordset")
mainmenu2Sql = "SELECT * FROM prodmainnav ORDER BY prodmainnav.id;"
Set rsmainmenu2 = mainmenu2Conn.Execute(mainmenu2Sql)
While (not rsmainmenu2.EOF) %> <% '####### Submenu ############ '## Create db objects and SQL set submenuConn = Server.CreateObject("ADODB.Connection") submenuConn.Open Application("ConnectString") Set rssubmenu = Server.CreateObject("ADODB.Recordset")
submenuSql = "SELECT * FROM prodsubcat WHERE prodsubcat.maincatid = " & rsmainmenu2("id") & " ORDER BY prodsubcat.id;"
Set rssubmenu = submenuConn.Execute(submenuSql)
While (not rssubmenu.EOF) %> <% taeller2 = 0 do until taeller2 = 10 taeller2 = taeller2 + 1
Hmm.. Jeg får en underlig Object Required fejl i denne linie..
Set rsmainmenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;")
Men jeg kan ikke se der skulle være nogen object som mangler!!! dog kan jeg se at der mangler SuMenu select så jeg har lavet den om til dette:
<% taeller=0 Set rsmainmenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") if not rsMainMenu2.EOF then do until rsMainMenu2.EOF taeller=taeller+1
taeller2=0
Set rssub = subConn.Execute("SELECT * FROM prodsubcat ORDER BY prodsubcat.id;") if not rssub.EOF then do until rssub.EOF
do until taeller2=10 taeller2=taeller2+1 %>group[<%Response.Write taeller%>][<%Response.Write taeller2%>]=new Option("<%=rssub("subcat")%>")<% loop
rssub.movenext ' GÅR TIL NÆSTE EMNE I DB loop end if rssub.close set rssub=nothing
rsMainMenu2.movenext ' GÅR TIL NÆSTE EMNE I DB loop end if rsMainMenu2.close set rsMainMenu2=nothing
<%' OBJEKTET SOM MANGLER ER BLOT: set mainmenu2Conn = Server.CreateObject("ADODB.Connection") mainmenu2Conn.Open Application("ConnectString") Set rsmainmenu2 = Server.CreateObject("ADODB.Recordset")
'HAR ÆNDRET LIDT I KODE-EKSEMPLET:
taeller=0 Set rsMainMenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") if not rsMainMenu2.EOF then do until rsMainMenu2.EOF taeller=taeller+1
taeller2=0 Set rssub = subConn.Execute("SELECT * FROM prodsubcat ORDER BY prodsubcat.id;") if not rssub.EOF then do until rssub.EOF taeller2=taeller2+1 %>group[<%Response.Write taeller%>][<%Response.Write taeller2%>]=new Option("<%=rssub("subcat")%>")<%
rssub.movenext ' GÅR TIL NÆSTE EMNE I rssub loop end if rssub.close set rssub=nothing
rsMainMenu2.movenext ' GÅR TIL NÆSTE EMNE I rsMainMenu loop end if rsMainMenu2.close set rsMainMenu2=nothing
Bare for at vi er enige ser koden nu sådan her ud:
<% set mainmenu2Conn = Server.CreateObject("ADODB.Connection") mainmenu2Conn.Open Application("ConnectString") Set rsmainmenu2 = Server.CreateObject("ADODB.Recordset")
taeller=0 Set rsMainMenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") if not rsMainMenu2.EOF then do until rsMainMenu2.EOF taeller=taeller+1
set subConn = Server.CreateObject("ADODB.Connection") subConn.Open Application("ConnectString") Set rssub = Server.CreateObject("ADODB.Recordset")
taeller2=0 Set rssub = subConn.Execute("SELECT * FROM prodsubcat ORDER BY prodsubcat.id;") if not rssub.EOF then do until rssub.EOF taeller2=taeller2+1 %>group[<%Response.Write taeller%>][<%Response.Write taeller2%>]=new Option("<%=rssub("subcat")%>")<%
rssub.movenext ' GÅR TIL NÆSTE EMNE I rssub loop end if rssub.close set rssub=nothing
rsMainMenu2.movenext ' GÅR TIL NÆSTE EMNE I rsMainMenu loop end if rsMainMenu2.close set rsMainMenu2=nothing
<% 'ÅBNE DATABASEN Set MainMenu2Conn = Server.CreateObject("ADODB.Connection") MainMenu2Conn.Open Application("ConnectString")
'IKKE HENTE FRA TABELLEN: prodmainnav..??? '' taeller=0 '' Set rsMainMenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") '' if not rsMainMenu2.EOF then '' do until rsMainMenu2.EOF '' taeller=taeller+1 '' rsMainMenu2.movenext ' GÅR TIL NÆSTE EMNE I rsMainMenu '' loop '' end if '' rsMainMenu2.close '' set rsMainMenu2=nothing
'MEN DERIMOD KUN HENTE FRA TABELLEN: prodsubcat..??? taeller2=0 Set rssub=subConn.Execute("SELECT * FROM prodsubcat ORDER BY prodsubcat.id;") if not rssub.EOF then do until rssub.EOF taeller2=taeller2+1 %>group[<%=taeller2%>][<%=rssub("maincatid")%>]=new Option("<%=rssub("subcat")%>")<% rssub.movenext 'NÆSTE EMNE I rssub loop end if rssub.close set rssub=nothing
'LUKKE DATABASEN MainMenu2Conn.Close Set MainMenu2Conn=nothing %>
<table width="390" cellspacing="1" cellpadding="1" border="0"> <tr> <td align="left" valign="top"><font size="1" face="Verdana">Nedenfor har du mulighed for at oprette et produkt til shoppen!</font> </td> </tr> </table>
var groups=document.doublecombo.example.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array()
<% 'ÅBNE DATABASEN Set MainMenu2Conn = Server.CreateObject("ADODB.Connection") MainMenu2Conn.Open Application("ConnectString")
'IKKE HENTE FRA TABELLEN: prodmainnav..??? '' taeller=0 '' Set rsMainMenu2 = mainmenu2Conn.Execute("SELECT * FROM prodmainnav ORDER BY prodmainnav.id;") '' if not rsMainMenu2.EOF then '' do until rsMainMenu2.EOF '' taeller=taeller+1 '' rsMainMenu2.movenext ' GÅR TIL NÆSTE EMNE I rsMainMenu '' loop '' end if '' rsMainMenu2.close '' set rsMainMenu2=nothing
'MEN DERIMOD KUN HENTE FRA TABELLEN: prodsubcat..??? taeller2=0 Set subConn = Server.CreateObject("ADODB.Connection") subConn.Open Application("ConnectString") Set rssub=subConn.Execute("SELECT * FROM prodsubcat ORDER BY prodsubcat.id;") if not rssub.EOF then do until rssub.EOF taeller2=taeller2+1 %>group[<%=taeller2%>][<%=rssub("maincatid")%>]=new Option("<%=rssub("subcat")%>")<% rssub.movenext 'NÆSTE EMNE I rssub loop end if rssub.close set rssub=nothing
'LUKKE DATABASEN MainMenu2Conn.Close Set MainMenu2Conn=nothing %>
var temp=document.doublecombo.stage2
function redirect(x){ for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++){ temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true }
function go(){ location=temp.options[temp.selectedIndex].value } //--> </script>
Jeg bliver desværer nød til at komme i seng nu, jeg skal meget tidlig op imorgen, men jeg håber vi kan kigge videre på det imorgen måske, du skal ihvertfald have mange tak for din store indsats iaften, og du har bestemt fortjent dine point, jeg glæder mig til at vi finder en løsning (altså dig *S :-))
hej. jeg har mailet tilbage, men skriver også lige her igen... Jeg har lavet et lille eksempel på en Drop-Down boks med indhold fra en database: http://mbsnet.dk/?loc=articles&show=32
Jeg kan ikke se at den gør det som den skal! Jeg bruger 2 tabeller en med hoved kategori:
ID CAT
1 Subcat2 4 Sub test1 6 Stig 7 Frederik
Og en med under kategori:
ID MAINCAT SUBCAT
1 1 frederik 2 1 Stig 4 4 test 5 6 test 6 7 test
Det skal være sådan at hvis man vælger STIG fra hoved kategori drop down boksen vil den anden drop down box som indeholder underkategorien skifte om så man kan se ”test” som ligger som under kategori til kategorien STIG! Håber ovenstående forklarer mit formål lidt bedre :-)
'####### Mainmenu2 ############ '## Create db objects and SQL set mainmenu2Conn = Server.CreateObject("ADODB.Connection") mainmenu2Conn.Open Application("ConnectString") Set rsmainmenu2 = Server.CreateObject("ADODB.Recordset")
mainmenu2Sql = "SELECT * FROM prodmainnav ORDER BY prodmainnav.id;"
Set rsmainmenu2 = mainmenu2Conn.Execute(mainmenu2Sql)
While (not rsmainmenu2.EOF)
taeller=taeller+1 %> <span id="sub<%=taeller%>"> <select name="sub<%=rsmainmenu2("cat")%>" onchange="closeselect(this,'sub<%=taeller%>')"> <option selected value="">Vælg..</option> <% '####### sub ############ '## Create db objects and SQL set subConn = Server.CreateObject("ADODB.Connection") subConn.Open Application("ConnectString") Set rssub = Server.CreateObject("ADODB.Recordset")
subSql = "SELECT * FROM prodsubcat WHERE prodsubcat.maincatid = " & rsmainmenu2("id") & " ORDER BY prodsubcat.id;"
Men derfor skal du have dine point alligevel ;-) TUSIND tak for din store hjælp *S
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.