Avatar billede simsen Mester
16. januar 2005 - 21:28 Der er 3 kommentarer og
1 løsning

Hjælp til links

Et eksempel kan ses her: http://www.lalitha.dk/Georg

Jeg kan sagtens lave en Overmenu med tilhørende undermenuer (som så linker til et eller andet).

Mit problem er, at jeg også gerne vil have overmenuer, som enten ikke har undermenuer (altså de skal linke direkte til noget) I ovennævnte eksempel skal Startside selvfølgelig ikke have undermenuer men linke direkte til framemain.asp) eller også har den undermenuer (som også skal linke til noget) men samtidig skal overmenuen også linke til noget.

Altså eksempel:

Startside ......> linker til AA
Menu2...........> linker til BB
--Menu2-1.......> linker til BB1
--Menu2-2.......> linker til BB2
Menu3...........> linker ikke til noget
--Menu3-1.......> linkter til CC1

På nuværende tidspunkt kan jeg få Menu3 og undermenu til at virke - men hvordan får jeg de andre to til at virke???

Koden er som følger:

<%
OpenCon

menuID = Replace(Request.QueryString("id"),"'","")
submenuID = Replace(Request.QueryString("sid"),"'","")

SQL = "SELECT * FROM aa_menu ORDER BY id"
Set rs = Conn.Execute(SQL)

do while not rs.EOF


  Response.Write "<a href=""?id=" & rs("id") & """>" & rs("menunavn") & "</a>"
  Response.Write "<br>"

  if Int("0" & menuID) = Int(rs("id")) then 
    'Udskriver submenuer til den valgte menu
    Set subrs = Conn.Execute("SELECT * FROM aa_submenu WHERE menuID = " & rs("id"))
    do while not subrs.EOF
      'Response.Write " - <a href=""?id=" & rs("id") & "&sid=" & subrs("id") & """>" & subrs("submenunavn") & "</a>"
      'Response.Write "<br>"
      if Int("0" & submenuID) = Int(subrs("id")) then 
        'Udskriver links til den valgte menu og submenu
        Set linksrs = Conn.Execute("SELECT * FROM aa_link WHERE submenuID = " & rs("id"))
        do while not linksrs.EOF
          Response.Write " -- <a href=" & linksrs("link") & " target=""" & linksrs("target") & """>" & linksrs("linknavn") & "</a>"
          Response.Write "<br>"
          linksrs.Movenext
        loop   
      end if
      subrs.Movenext
    loop   

    'Udskriver links til den valgte menu som ikke har en submenu
    Set subrs = Conn.Execute("SELECT * FROM aa_link WHERE menuID = " & rs("id"))
    do while not subrs.EOF
      Response.Write " -- <a href=" & subrs("link") & " target=""" & subrs("target") & """>" & subrs("linknavn") & "</a>"
      Response.Write "<br>"
      subrs.Movenext
    loop
         

  end if

  rs.Movenext
loop

CloseCon
%>
Avatar billede netro Nybegynder
17. januar 2005 - 06:43 #1
Du skal have gang i en rekursiv funktion. Det er ALT for tungt at brænde alle de queries af hver gang, du skal have opbygget menuen. Du kan nøjes med et enkelt, som du laver et array på baggrund af.

http://www.opfinderen.dk/sites/53/
http://www.html.dk/scripts/asp/00015/
Avatar billede simsen Mester
17. januar 2005 - 08:19 #2
Hejsa netro

Det er den på opfinderen, jeg efterlyser. Men jeg kan desværre ikke se, hvordan selve asp koden og den tilhørende database ser ud?
Avatar billede simsen Mester
02. februar 2005 - 09:07 #3
Hejsa netro

Jeg brugte opfinderens - så smid et svar og få dine points *SS*
Avatar billede netro Nybegynder
02. februar 2005 - 18:27 #4
Hermed gjort ;o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester