Avatar billede bentbent Nybegynder
25. november 2003 - 23:08 Der er 3 kommentarer og
1 løsning

Vis kun bestemt kategori!

Jeg har tre tabeller som hver betyder!

hovedkategori (navn = hovedkategori)
underkategori (navn = kategorier)
tekster      (navn = tekster)

Nedenstående kode er en tabel som lister alle underkategorier samt de tekster der ligger under dem!

Jeg skal dog nu have en hovedkategori tilføjet over disse to! og den skal derfor kun vise de underkategorier som hører til under hovedkategorien!

Underkategorien har feltet (HKnogle) som hører til hovedkategoriens (HKID) = unik

jeg sender denne url:

http://localhost/sider/kategori.asp?HKnogle=1 '<-variable

hvorledes før jeg kun listet de underkategorier som jeg fra forrige side klikker ind på!?????

På forhånd tak! er helt blank og har snart læst SQL i praksis 20 gange!!  ????????????

                    <%
Set rs = Server.CreateObject("ADODB.Recordset")
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open  MM_gratis_STRING
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, kategorier.HKnogle, tekster.Tkatagori, tekster.Toverskrift, tekster.TID FROM kategorier LEFT JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"
Set rs = Conn.Execute(SQL)

lastID = ""
response.write "<table width=""100%"">"
colPrRow = 0
maxPrRow = 2
do while not rs.EOF
  if colPrRow = 0 then Response.write "<tr>"

  if lastID <> rs("TKID") then
    Response.Write "<td valign=""top"">"
    response.write "<table width=""100%"">"
    response.write "<tr><td><b>" & "<a href='kategori.asp?TKID=" & rs("TKID") & "'>" & rs("TKoverskrift") & "</a>" & "</b></td></tr>"
    lastID = rs("TKID")
    colPrRow = colPrRow + 1
  end if

  response.write "<tr><td>&nbsp;" & "<a href='under_kategori.asp?TID=" & rs("TID") & "&TKID=" & rs("Tkatagori") & "'>" & rs("Toverskrift") & "</a>" &  "</td></tr>"
 
  rs.Movenext

  if not rs.EOF then
    if lastID <> rs("TKID") then
      Response.Write "</table>"
      Response.Write "</td>"
    end if
  else
    Response.Write "</table>"
    Response.Write "</td>"
  end if

  if colPrRow = maxPrRow then
    colPrRow = 0
    response.write "</tr>"
  end if
loop
if colPrRow > 0 then response.write "</tr>"
response.write "</table>"
%>
Avatar billede chriscross Nybegynder
26. november 2003 - 08:26 #1
Nu skrev du ikke hvilken database, men prøv:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, kategorier.HKnogle, tekster.Tkatagori, tekster.Toverskrift, tekster.TID FROM kategorier where kategorier.HKNogle =" &Request.QueryString("HKNogle")& " LEFT JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"

Hvis HKNogle ikke er et numerisk felt skal du huske at sætte pinger omkring:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, kategorier.HKnogle, tekster.Tkatagori, tekster.Toverskrift, tekster.TID FROM kategorier where kategorier.HKNogle ='" &Request.QueryString("HKNogle")& "' LEFT JOIN tekster ON kategorier.TKID=tekster.Tkatagori ORDER BY kategorier.TKID ASC"

Hvis du kan have flere kategorier med over i din variabel, må du lige sige til - så er syntaksen lidt anderledes.
Avatar billede chriscross Nybegynder
26. november 2003 - 09:48 #2
Øh, du skal forresten nok have din where-klausul efter din join:
SQL = "SELECT kategorier.TKID, kategorier.TKoverskrift, kategorier.HKnogle, tekster.Tkatagori, tekster.Toverskrift, tekster.TID FROM kategorier LEFT JOIN tekster ON kategorier.TKID=tekster.Tkatagori where kategorier.HKNogle =" & Request.QueryString("HKNogle")& " ORDER BY kategorier.TKID ASC"
Avatar billede bentbent Nybegynder
26. november 2003 - 10:29 #3
kanon! det virker helt perfekt!

tak
Avatar billede chriscross Nybegynder
26. november 2003 - 10:30 #4
Velbekomme
:o)
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