Avatar billede fibs Novice
20. april 2006 - 00:12 Der er 1 kommentar

Kan det gøres på EN side, i stedet for 3?

Har lavet et lille asp system (med god hjælp fra html.dk):

det består af en side, som sender brugeren hen til første linkside i databasen:

index.asp:
<meta http-equiv="Refresh" content="0;URL=sites.asp?id=1">

Derefter har jeg siden sites.asp:

sites.asp har følg asp kode:

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("log/db.mdb")
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From tb_menu Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)
%>
<b>
<%
Response.Write rs("overskrift")
%>
</b><br><br>

<%
Response.Write rs("broed")
%>
</div>
<%
Conn.Close
Set Conn = Nothing
%>

For at få vist menuen på siden har den vha. ssi indsat menu siden:

menuen.asp, med følgende asp kode:

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("log/db_menu.mdb")
Conn.Open DSN
%>

<%
strSQL = "Select * From tb_menu1 Order by id"
Set rs = Conn.Execute(strSQL)

Do
  ' Personens navn
  strNavn = rs("tekst")

  ' lav et link til test.asp med Id-værdien i URL

  strLink = "<a class='1' href='sites.asp?id=" & rs("Id") & "'>" & strNavn & "</a><br>"

  ' Liste med links
  Response.Write strLink


  rs.MoveNext

Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>

Alle data hentes i en access database med en tabel indeholdende punkterne id (autonummerering) Tekst (Selve menu punktet), Overskrift (Den enkelte siden overskrift) og Broed (Brødteksten på siderne)

Det er planen at der skal tilføjes flere felter og det er ikke et problem, men:

Kan den ikke laves på EN side, og evt. hvordan - Problemet er jo at nogle servere ikke understøtter ssi og hvis evt. forsiden udskiftet risikerer man at første ID forsvinder.

Muligt at lave på EN side?

Fibs
Avatar billede jps6kb Novice
21. april 2006 - 10:35 #1
Måske jeg forstår hvad det er du mener, jeg er ikke sikker.. hehe..
Men du kan lave din index.asp som følger:

index.asp:
--------------------------------------
<%
strId = ""
strId = request("id")
if strId = "" then
  strId = "1"
end if

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("log/db.mdb")
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From tb_menu Where Id = " & strId
Set rs = Conn.Execute(strSQL)

Response.Write "<b>" & rs("overskrift") & "</b><br><br>"
Response.Write rs("broed")
%>
</div>
<%
Conn.Close
Set Conn = Nothing
%>
--------------------------------------


menuen.asp
--------------------------------------
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("log/db_menu.mdb")
Conn.Open DSN
%>

<%
strSQL = "Select * From tb_menu1 Order by id"
Set rs = Conn.Execute(strSQL)

Do
  ' Personens navn
  strNavn = rs("tekst")

  ' lav et link til test.asp med Id-værdien i URL

  strLink = "<a class='1' href='index.asp?id=" & rs("Id") & "'>" & strNavn & "</a><br>"

  ' Liste med links
  Response.Write strLink


  rs.MoveNext

Loop While Not rs.EOF
Conn.Close
Set Conn = Nothing
%>
--------------------------------------


Så slipper du for:
  <meta http-equiv="Refresh" content="0;URL=sites.asp?id=1">

Hvis du gerne vil undgå at inkludere (ssi) menuen, kan du jo bare kopiere koden i menuen.asp ind, hvor du ellers ville inkludere den.
Det eneste minus der er ved det, er at du jo så skal rette på alle de steder hvor menuen er, hvis der ex. kommer et nyt link.
Det er der ssi er mega smart.

Så hvis du orker det, eller ikke har så mange sider, så er det da klart en mulighed. ;)
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