Still problems with my menu...

  • Thread starter Christopher Brandsdal
  • Start date
C

Christopher Brandsdal

Hi again!

now I realy have a problem..

I want om make a menu that expandes like the menu on http://www.eks.as

The menu should expand after a sertain ID in the querystring. The page you
are on should be bold..

The code works fine exept when I pass a ID that belongs to a "child" in the
menu.... Any idea???
here's what I got so far....



<html>
<head>
<title>default.asp</title>
</head>

<body>

<%
' Connection to the database / Datenbankverbindung
Dim ConnectString, conn
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("../../Documents and Settings/All
Users/Dokumenter/portal.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>

<%DIm ID
ID = Request.Querystring("id") %>
<%
'Henter kategorier
Dim sqlMeny, rsMeny
sqlMeny = "SELECT * FROM Meny ORDER BY ID ASC"
Set rsMeny = Server.CreateObject("ADODB.Recordset")
rsMeny.Open sqlMeny, conn, 3, 3
do until rsMeny.Eof
If rsMeny("parent") = 0 Then
%>
<%= rsMeny("Navn") %><br>
<%
Else
End If
If CInt(rsMeny.Fields("ID").Value) = CInt(ID) Then

'Henter kategorier
Dim sqlUnder, rsUnder
sqlUnder = "SELECT * FROM Meny WHERE Parent = "& rsMeny("id") &" ORDER BY ID
ASC"
Set rsUnder = Server.CreateObject("ADODB.Recordset")
rsUnder.Open sqlUnder, conn, 3, 3
do until rsUnder.Eof
%>

--<%= rsUnder("Navn") %><br>

<%
rsUnder.MoveNext
Loop
Else
End If

%>
<%
rsMeny.MoveNext
Loop
'disconnect
conn.close
Set conn = Nothing
%>

</body>
</html>




Christopher Brandsdal
Norway
 
T

Tom B

http://www.aspfaq.com/show.asp?id=2096


Dim sSQL
sSQL="SELECT meny.ID, meny.Navn, meny.Parent, " & _
"meny_1.ID AS ChildID, meny_1.Navn AS ChildNavn, " & _
"meny_1.Parent AS ChildParent " & _
"FROM meny LEFT OUTER JOIN " & _
" meny meny_1 ON meny.ID = meny_1.Parent " & _
"WHERE (meny.Parent = 0)"

'The above sql statement will return all parent rows and their children in
this style......
'ID Navn ParentID ChildID ChildNavn ChildParent
'1 text1 0 3 child1 1
'1 text1 0 4 child2 1
'2 text2 0 5 child3 2
'6 text3 0 <null> <null> <null>


' Connection to the database / Datenbankverbindung
Dim ConnectString, conn
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("../../Documents and Settings/All
Users/Dokumenter/portal.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
Dim rsMeny
Set rsMeny=conn.Execute(sSQL)
if not rsMeny.eof then
Dim lngCurrentParentID
Dim bChildBold
Dim bParentBold
Dim lngBoldedID

lngBoldedID=Request.QueryString("id")
lngCurrentParentID=0

Do While not rsMeny.EOF
bChildBold=false
bParentBold=false
if lngBoldedID=rsMeny.Fields("ID") then bParentBold=true
if lngBoldedID=rsMeny.Fields("ChildID") then bChildBold=true

if rsMeny.Fields("ID") <> lngCurrentParentID then
'this is the first or the next parent record
if bParentBold then
Response.write "<b>" & rsMeny.Fields("navn") &
"</b>"
else
Response.write rsMeny.Fields("navn")
end if
lngCurrentParentID=rsMeny.Fields("ID")
end if
if len(rsMeny.Fields("ChildNavn") & "")>0 then
'this child record is not null (or empty string)
if bChildBold then
Response.write "<b>" &
rsMeny.Fields("ChildNavn") & "</b>"
else
Response.write rsMeny.Fields("ChildNavn")
end if
end if

rsMeny.MoveNext
Loop
end if
Set rsMeny=nothing
conn.Close
Set conn=Nothing
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top