Avatar billede fibs Novice
05. november 2006 - 14:20 Der er 4 kommentarer

Udvidde menu til sider der ikke genereres af menuen

Udvide menu  med point fra fibs 

Følgende kode opretter et antal sider ud fra data i en database:

<html>
<head>

</head>

<body>
<table><tr><td>
<%

sidenavn = LCase(Request.Servervariables("SCRIPT_NAME"))
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../db/db_rytter.mdb")
Conn.Open DSN


Set rs = Conn.Execute("Select * From tb_menu1 Order by id")
While Not rs.EOF
strNavn = rs("tekst")
Response.Write "<a href='" & sidenavn & "?id=" & rs("Id") & "'>" & strNavn & "</a> <br>"
rs.MoveNext
Wend

if Request.Querystring("id")="" then
strSQL = "Select TOP 1 * From tb_menu1 order by id"
else
strSQL = "Select * From tb_menu1 Where Id = " & Request.Querystring("id")
end if
Set rs = Conn.Execute(strSQL)

Response.Write rs("overskrift")

Response.Write rs("broed")
  if rs("billede") <> "" Then
    Response.write ("<img src='image/" & rs("billede") & "'>")
  Else


  End If

Conn.Close
Set Conn = Nothing
%>

</body>
</html>


Det kører OK!

Nu vil jeg gerne have en side der hedder kontakt.asp som ikke skal genereres af databasen, men et html link på siden. Det er os let (<a href="kontakt.asp...."> osv).

Nu kommer problemet:

At få menuen på kontakt.asp til de andre sider i databasen, så det virker. Jeg har bare indsat åbningen til databasen og menuen på kontakt, men det giver problemet at den søger efter en side der hedder kontakt.asp?id1 og ikke som ønsket index.asp?id....

Kan det løses? evt. Hvordan?

Fibs
Avatar billede ellebaek Nybegynder
05. november 2006 - 14:43 #1
hvis jeg tolker dit problem rigtigt, så vil du gerne have at alle sider (på nær kontakt.asp) skal kaldes vis index.asp?id1 osv...?

Hvis dette er rigtigt, så skal du blot rette denne linie:
sidenavn = LCase(Request.Servervariables("SCRIPT_NAME"))

til:
sidenavn = "index.asp"
Avatar billede ellebaek Nybegynder
05. november 2006 - 14:45 #2
og lige en forklaring..

linien: sidenavn = LCase(Request.Servervariables("SCRIPT_NAME"))
finder navnet på den side som du er inde på nu. (før hvor du ikke havde kontakt.asp vil det altså i alle tilfælde være index.asp) men nu hvor du har kontakt.asp vil der også være kontakt.asp engang imellem. ved at du retter linien, så sikre du at alle links i din menu vil kaldes gennem index.asp
Avatar billede fibs Novice
05. november 2006 - 14:59 #3
Det var lige det der skulle til, men sikkert et enkelt problem/spørgsmål for en ASP haj. Giv lige et svar Ellebaek, så du kan få pointene.

Fibs
Avatar billede ellebaek Nybegynder
05. november 2006 - 17:40 #4
Jeg smider et svar her :-)
Glad for du fik det til at virke..

Mvh. jens
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