Avatar billede musti776 Nybegynder
12. februar 2005 - 15:47 Der er 10 kommentarer og
1 løsning

Hjælp til menu opbygning via Acces..

Hej Venner.

Er i gang med en hjemmeside hvor jeg henter indholdet af menuet fra en tabel i acces...hvor jeg har to felter...

Navn & Kategori
jeg henter dem sådan:
                              <%
do while not rs.EOF
If Not rs.EOF Then
response.write "<table width=150 height= bgcolor=border=0 cellspacing=0 cellpadding=3>"
response.Write "<tr>"
response.Write "<td width=130 height=20 class=border><a href=""default.asp?id="& rs("kategori") &""">" & rs("menu_navn") & "</a>" & "" & "</td>"
Response.write "<td class=border><img border='0' src='images/arrow.gif' width='13' height='13'></td>"
response.Write "</tr>"
response.Write "</table>"
  rs.MoveNext
  end if
%>
<%
loop
rs.Close
%>

jeg har bare det problem, at det er første gang jeg laver sådan et menu....hvor jeg henter menuet fra acces...

normalt bygger jeg siden op på denne måde med
<%
Select Case LCase(request.querystring("id"))
    Case "forside"
        Server.Execute("forside.asp")
End select
%>

som i kan se i den første kode vil jeg meget gerne bruge den samme system..altså = response.Write "<td width=130 height=20 class=border><a href=""default.asp?id="& rs("kategori") &""">" & rs("menu_navn") & "</a>" & "" & "</td>"

men ved ikke lige hvordan jeg få koden til at virke på denne måde...har i et ide om hvordan man kan gøre det eller en helt anden løsningsforslag er i velkommen til at fortælle mig det... :)

Hilsen
/Musti
Avatar billede razser Nybegynder
12. februar 2005 - 16:25 #1
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DBQ=" & Server.Mappath("DIN-database.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
SQL = "SELECT * FROM DIN-TABEL"
Set rs = Conn.Execute(SQL)

response.write "<table width='150' height='20' bgcolor='' border='0' cellspacing='0' cellpadding='3'>"
response.Write "<tr>"

Do While Not rs.EOF

response.Write "<td width='130' height='20' class='border'><a href=" & chr(34) & "default.asp?id=" & rs("kategori") & chr(34) & ">" & rs("menu_navn") & "</a></td>"
Response.write "<td class='border'><img border='0' src='images/arrow.gif' width='13' height='13'></td>"
response.Write "</tr>"

rs.MoveNext
loop

response.Write "</table>"
rs.Close
set rs = nothing

%>
Avatar billede musti776 Nybegynder
12. februar 2005 - 16:57 #2
vil du ikke lige fortælle mig hvad det føre?
Avatar billede musti776 Nybegynder
12. februar 2005 - 17:04 #3
vil du ikke lige fortælle mig hvad det laver skulle der stå :)
Avatar billede razser Nybegynder
12. februar 2005 - 17:05 #4
hmm, jeg forstår ikke helt spørgsmålet???

Det du skal huske i ovenstående kode (som virker hos mig) er, at du i linie 3 skal
indsætte stien til din egen database:

Conn.Open "DBQ=" & Server.Mappath("DIN-database.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"

Dvs. "DIN-database.mdb" byttes ud med din rigtige.

Dernæst skal du bytte tabel-navnet ud med det rigtige navn:

SQL = "SELECT * FROM DIN-TABEL" 

Sluttelig skal du sikre dig, at rs("menu_navn") er rigtigt - skulle det ikke snarere være rs("navn")  ???

Som nævnt virker koden hos mig, så det er kun et spørgsmål om at sætte de rigtige navne på....
Avatar billede razser Nybegynder
12. februar 2005 - 17:07 #5
Det henter menupunkterne ud fra din database?  - hvilke sætninger i koden er det du ikke forstår?
Avatar billede musti776 Nybegynder
12. februar 2005 - 17:39 #6
hmm...jeg kan godt lige se at jeg ikke har formuleret spørgsmålet ordenlgt..

det problemet var, at når jeg henter menu_navn, skal de fungere som link...
hvor de kalder på et eller andet kategori

<a href=""default.asp?id="& rs("kategori") &""">" & rs("menu_navn") & "</a>" & "

problemet er at når jeg bruger denne kode:
<%
Select Case LCase(request.querystring("id"))
    Case "forside"
        Server.Execute("forside.asp")
End select
%>
skal man jo angive hvilke id'er der er og hvilke sider der skal hentes...det jeg efterspørger, kan man ikke lave det om til at når jeg klikker på et af de links der bliver hentet fra db, skal den hente en bestemt side, altså :

<%
Select Case LCase(request.querystring("id"))
    Case "rs("kategori")"
        Server.Execute("produkt.asp")
End select
%>
eller noget lignende...jeg kan godt se det er dårligt formuleret igen men lad os nu lige se om i godt kan forstå det alligevel... :)
Avatar billede musti776 Nybegynder
12. februar 2005 - 18:48 #7
.....
Avatar billede musti776 Nybegynder
12. februar 2005 - 22:54 #8
hjælp :(
Avatar billede razser Nybegynder
14. februar 2005 - 08:47 #9
Hej igen. Eksperten gik som sædvanlig ned i weekenden!  Men jeg vil foreslå, at du laver et felt til i databasen, der hedder link...

Så i stedet for at benytte case, trækker du filnavnet ud der hvor der står default.
Avatar billede musti776 Nybegynder
14. februar 2005 - 09:21 #10
Ok razser...jeg prøver mig lidt frem...takker for hjælpen :)
Avatar billede razser Nybegynder
14. februar 2005 - 09:35 #11
Selv tak, håber, at det kommer til at virke...
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