Avatar billede andersasp Nybegynder
09. marts 2004 - 10:34 Der er 10 kommentarer og
1 løsning

Dynamisk menu!

Jeg er i gang med at lave en hjemmesiden hvor jeg skal bruge en dynamisk menu!

Jeg har en tabel som hedder kategorier og en tabel som hedder tekster. Det jeg gerne vil have er at når man klikker på en kategori vises alle tekster som er linket til denne, under denne kategori som nu er fed.

Tabellerne ser således ud i struktur:

Kategori

ID; overskrift

Tekster

ID; overskrift; beskrivelse; Knogle

De er sammensat af kategori ID og Knogle

Tabellen skal se nogenlunde således ud hvis ID 3 er valgt

Kategori ID=1
Kategori ID=2
<b>Kategori ID=3</b>
- tekster Knogle=3
- tekster Knogle=3
- ovs.
Kategori ID=4
Kategori ID=OSV...

Jeg er rimelig lost her, så jeg håber der er nogle der kan hjælpe!
Avatar billede fennec Nybegynder
09. marts 2004 - 10:41 #1
set rs = conn.Execute("select * from Kategori")
do while not rs.eof
  response.write rs("overskrift")&"<br>"
  set rs1 = conn.Execute("select * from Tekster where Knogle="& rs("id"))
  do while not rs1.eof
    response.write " "&rs1("overskrift")&"<br>"
    rs1.MoveNext
  loop
  rs.MoveNext
loop
Avatar billede andersasp Nybegynder
09. marts 2004 - 10:59 #2
Tak for det hurtige svar, den lister den første kategori men den kommer dog med en fejl, hvilket jeg har markeret!

Microsoft JET Database Engine error '80040e07'

Data type mismatch in criteria expression.

/demo/menu/index.asp, line 17


<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("menu.mdb")
    %>
<%
set rs = conn.Execute("select * from kategorier")
do while not rs.eof
  response.write rs("overskrift")&"<br>"
  set rs1 = conn.Execute("select * from tekster where Knogle=" & rs("id")) ' her er fejlen
  do while not rs1.eof
    response.write " "&rs1("overskrift")&"<br>"
    rs1.MoveNext
  loop
  rs.MoveNext
loop
%>
Avatar billede fennec Nybegynder
09. marts 2004 - 11:04 #3
hvilke datatype er Kategori.ID og Tekster.Knogle??
Avatar billede andersasp Nybegynder
09. marts 2004 - 11:33 #4
autonummerering
Avatar billede andersasp Nybegynder
09. marts 2004 - 11:35 #5
sorry! ID er autonummerering og jeg har lige ændret knogle til tal! sorry  tester lige
Avatar billede fennec Nybegynder
09. marts 2004 - 11:35 #6
"Tekster.Knogle" er vel tal eller tekst....
Avatar billede andersasp Nybegynder
09. marts 2004 - 11:38 #7
nu virker det! tak, men er det muligt at teksterne kun vises når man klikker på en bestemt kategori, dvs. klikker man på kategori 2 bliver alle tekster dertil vist som ovenstående og de andre skjult??
Avatar billede fennec Nybegynder
09. marts 2004 - 11:45 #8
du kan lave det i JavaScript, eller sende et openID med når du trykker på linket, som jeg lige har lavet i eks.

set rs = conn.Execute("select * from Kategori")
do while not rs.eof
  response.write "<a href""minside.asp?operID="&rs("id")&""">"rs("overskrift")&"</a><br>"
  if request.querystring("openID") = rs("id")&"" then
    set rs1 = conn.Execute("select * from Tekster where Knogle="& rs("id"))
    do while not rs1.eof
      response.write " "&rs1("overskrift")&"<br>"
      rs1.MoveNext
    loop
  end if
  rs.MoveNext
loop
Avatar billede andersasp Nybegynder
09. marts 2004 - 12:09 #9
Helt perfekt! tusinde tak! der var lige nogle små tastefejl så jeg smider lige den rettede kode til andre interesserede!

<%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("menu.mdb")
    %>
<%
set rs = conn.Execute("select * from Kategorier")
do while not rs.eof
  response.write "<a href=""index.asp?openID=" & rs("id") & """>" & rs("overskrift") & "</a><br>"
  if request.querystring("openID") = rs("id")& "" then
    set rs1 = conn.Execute("select * from Tekster where Knogle="& rs("id"))
    do while not rs1.eof
      response.write " " & rs1("overskrift")&"<br>"
      rs1.MoveNext
    loop
  end if
  rs.MoveNext
loop
%>
Avatar billede fennec Nybegynder
09. marts 2004 - 12:14 #10
sådan er det når man skriver koden i vinduet. Det er svært at se om der er fejl...
:o)
Avatar billede andersasp Nybegynder
09. marts 2004 - 12:20 #11
Imponerende må jeg sige :D

mange tak!
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