Ja, det märks att jag inte kodat på ett tag. Jag haren gång tidigare skrivit kod som hämtar menyer från en db, sen undermenyer som hör till dem från en annan db, men den verkar jag ha tagit bort... gjort en mindre sökning i arkivet men inte hittat där heller...
jag vill ha en kod som alltså söker igenom dbn: meny och listar, men mellan varje meny stannar den och kollar om det finns undermenyer och listar dem
alltså typ
MENY1
- Meny1.1
- Meny1.2
MENY2
- Meny2.1
MENY3
- Meny3.1
- Meny3.2
- Meny3.3
osv
här är min kod för att hämta första menyn
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("blabla_min_sökväg_och_databas")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT top 9 * FROM huvudmenydb WHERE visa = 'ja' order by niva ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
hm, knopade ihop denna koden
<div id="accordion">
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rohdinsdb.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT all * FROM huvudmenydb WHERE visa = 'ja' order by niva ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% Do Until RecSet.EOF %>
<h3 align="center"><a href="#" ><% = UCase(RecSet("namn")) %></a></h3>
<%
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Visa2 = "SELECT * FROM undermenydb WHERE huvudmenyid = " & Trim(Recset("menyid")) & " and visa = 'ja' order by niva ASC "
RecSet2.Open Visa2, Connect, adOpenStatic, adLockOptimistic
%>
<% Do Until RecSet2.EOF %>
<div><h2 align="center">
<a href="<%= RecSet2("link")%>"><%= UCase(RecSet2("namn"))%></a></h2>
</div> <% RecSet2.Movenext
loop
RecSet2.Close %>
<% RecSet.Movenext
loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</div>
men den skriver ut konstigt...
Meny 1
- Meny 1.1
Meny 1.2
- Meny 2
Meny 2.1
-Meny 3
Meny 3.1
-Meny 3.2
Meny 4
-Meny 4.1
Meny 4.2
- Meny5
Meny 5.1
- Meny 6
Meny 6.1
- Meny 7
Meny 7.1
- Meny 8
Meny 8.1
- Meny 9
Vad är problemet denna fredag?
Fixade det faktiskt. Själva koden var det inget fel på, utan divet från jquery tyckte inte om det, men kunde fixa till genom att ändra koden till detta:
<div id="accordion">
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rohdinsdb.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT all * FROM huvudmenydb WHERE visa = 'ja' order by niva ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% Do Until RecSet.EOF %>
<h3 align="center"><a href="#" ><% = UCase(RecSet("namn")) %></a></h3>
<div><h2 align="center"><%
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Visa2 = "SELECT * FROM undermenydb WHERE huvudmenyid = " & Trim(Recset("menyid")) & " and visa = 'ja' order by niva ASC "
RecSet2.Open Visa2, Connect, adOpenStatic, adLockOptimistic
%>
<% Do Until RecSet2.EOF %>
<a href="<%= RecSet2("link")%>"><%= UCase(RecSet2("namn"))%></a> <br><% RecSet2.Movenext
loop
RecSet2.Close %></h2>
</div>
<% RecSet.Movenext
loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</div>
BoorgMedlem sedan okt. 2004409 inlägg
magnusfeldth skrev:
Fixade det faktiskt. Själva koden var det inget fel på, utan divet från jquery tyckte inte om det, men kunde fixa till genom att ändra koden till detta:
<div id="accordion">
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rohdinsdb.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT all * FROM huvudmenydb WHERE visa = 'ja' order by niva ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
<% Do Until RecSet.EOF %>
<h3 align="center"><a href="#" ><% = UCase(RecSet("namn")) %></a></h3>
<div><h2 align="center"><%
Set RecSet2 = Server.CreateObject("ADODB.Recordset")
Visa2 = "SELECT * FROM undermenydb WHERE huvudmenyid = " & Trim(Recset("menyid")) & " and visa = 'ja' order by niva ASC "
RecSet2.Open Visa2, Connect, adOpenStatic, adLockOptimistic
%>
<% Do Until RecSet2.EOF %>
<a href="<%= RecSet2("link")%>"><%= UCase(RecSet2("namn"))%></a> <br><% RecSet2.Movenext
loop
RecSet2.Close %></h2>
</div>
<% RecSet.Movenext
loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</div>
Jag hade nog gjort så att jag hade haft allt i en öppning av databasen.
Så om huvud nivån var 1.0 och undernivå var 1.1 osv att du hade skrivit en if sats som hade kollat om siffran efter punkten var mindre än 1 så hade en huvudmeny skrivits ut, sedan en else och skriv ut en undermeny. Låter det rimligt?
BoorgMedlem sedan okt. 2004409 inlägg <div id="accordion">
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &Server.MapPath("db/rohdinsdb.mdb")
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT all * FROM huvudmenydb WHERE visa = 'ja' order by niva ASC"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic
Do Until RecSet.EOF
If RecSet(Mid(niva,1)) = "0" then
Response.Write "<h3 align=""center""><a href=""#"" >"
Response.Write UCase(RecSet("namn"))
Response.Write "</a></h3>"
Else
Response.Write "<a href=""
Response.Write RecSet2("link")
Response.Write "">"
Response.Write UCase(RecSet2("namn"))
Response.Write "</a> <br>"
End If
RecSet.Movenext
Loop
Recset.Close
Connect.Close
Set Recset = Nothing
Set Connect = Nothing
%>
</div>
Mid är jag inte säker på om det funkar, va längesedan annars kanske du kan köra med right eller left... och jag skulle nog döpt nivåerna till 10 och 11 och 12 och 13 och 20. ja duförstår :)
Bara en tanke :i