Du sender allerede et ID med når du trykker på en top menu:
if isnumeric(request.querystring("ID")&"") then pageID = cint(request.querystring("ID")) else pageID = 0 set rs = conn.execute("select * from aa_submenu where menuid="& pageID)
strSQL = "Select * From aa_menu ORDER BY id" Set rs = Conn.Execute(strSQL)
Do strNavn = rs("menunavn") Response.Write "<a href=""?id=" & rs("id") & """>" & strNavn & "</a>" rs.MoveNext if not rs.eof then Response.Write strLink & " | " if rs.eof then Response.Write strLink Loop While Not rs.EOF %> <div id="Layer1" style="position:absolute; width:200px; height:115px; z-index:1; left: 411px; top: 161px"> <p>Basic tekst</p> <hr> <%
if not len(Request.Querystring("id"))=0 then
strSQL = "Select * From aa_menu Where Id = " & Request.Querystring("id") Set rs = Conn.Execute(strSQL) Response.Write rs("tekst") end if %>
<div id="Layer2" style="position:absolute; width:200px; height:115px; z-index:2; left: -397px; top: -14px"> <p>undermenuer:</p> <hr> <% if isnumeric(request.querystring("ID")&"") then pageID = cint(request.querystring("ID")) else pageID = 0 set rs = Conn.execute("select * from aa_submenu where menuid="& pageID) while not rs.eof Response.write "<p><a href=""go.asp?id="& pageID &"&subID="& rs("id") &""">"& rs("submenunavn") &"</a></p>" rs.MoveNext wend %> <p> </p> <p> </p> </div> <hr> </div> </body> </html> <% Conn.Close Set Conn = Nothing
%>
Jeg har desuden rettet lidt i dit script. Der er ingen grund til at lukke database forbindelsen før sidst på siden. Den kan genbruges, så du er fri for at oprette forbindelsen igen og igen.
Var det en bekraftelse på mit ? i post 15:58:59 :o)
Hvor hentes teksten til submenuer fra?? aa_menu har en tekst kolonne, men der er ikke angivet en tekst kolonne på aa_submenu, så hvor kommer teksten til submenuer fra???
Ændre: if not len(Request.Querystring("id"))=0 then
strSQL = "Select * From aa_menu Where Id = " & Request.Querystring("id") Set rs = Conn.Execute(strSQL) Response.Write rs("tekst") end if
Til dette: if isnumeric(request.querystring("ID")&"") then pageID = cint(request.querystring("ID")) else pageID = 0 if isnumeric(request.querystring("subID")&"") then subPageID = cint(request.querystring("subID")) else subPageID = 0
if subPageID <> 0 then Set rs = Conn.Execute("Select * From aa_submenu Where Id = " & subPageID) Response.Write rs("tekst") elseif pageId <> 0 then Set rs = Conn.Execute("Select * From aa_menu Where Id = " & pageID) Response.Write rs("tekst") end if
Hvad så når man opdatere teksten der ved basic tekst. Hvordan får man billeder ind i den tekst? Kan det overhovedet lade sig gøre? eller skal det være på en anden måde så?
Hvad skal jeg gøre, hvis jeg f.eks vil lave en kontakt formular når man trykker på kontakt os? Er det ikke nemmere at lave det til sider? Så man lave forskellige ting på de forskellige sider?
Da en formular er almindelig HTML, kan den sagtens laves som kode i database, men du kan også hardcode den:
Do strNavn = rs("menunavn") Response.Write "<a href=""?id=" & rs("id") & """>" & strNavn & "</a>" rs.MoveNext if not rs.eof then Response.Write strLink & " | " if rs.eof then Response.Write strLink Loop While Not rs.EOF Response.Write " | " Response.Write "<a href=""kontakt.asp"">Kontakt os</a>"
Problemet ved at hardcode noget er at man mister det dynamiske ved siderne, men nogen gange er det den bedste løsning. Hvis det bare er en helt almindelig HTML formular, vil jeg derfor anbefale, at du laver det i databasen.
Det er kun et krav at formularen er HTML. Den kan sagtens sende til en ASP side, hvis du skal gemme oplysningerne i databasen eller sende dem som email.
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.