Avatar billede sorenmt84 Juniormester
27. juni 2002 - 18:22 Der er 12 kommentarer og
1 løsning

Sorter poster fra db efter kategori

Jeg har en db, men 2 tabeller... Den ene indeholder en kategori oversigt og den anden indeholder de ting som hører ind under de forskellige kategorier.

Jeg vil gerne have lavet det sådan, så når jeg åbner en side, hentes først en kategori, hvor der så neden under bliver indsat alle de poster som hører til kategorien. Neden under skal den så ta den næste kategori og vise de poster der hører dertil osv. osv.

Sådan:

Kategori 1
post 1
post 3
post 4

Kategori 2
post 2
post 6
post 8

osv.

osv.

Jeg har i tabellen med posterne lavet et felt der hedder refid, som har samme værdi som feltet id i tabellen kategori.
Avatar billede Slettet bruger
27. juni 2002 - 18:42 #1
er det noget vi skal lave for dig, eller hvad er det du spørger efter ?
Avatar billede sorenmt84 Juniormester
27. juni 2002 - 20:56 #2
Ja, det er noget der skal laves...
Avatar billede kichian Nybegynder
27. juni 2002 - 21:20 #3
For hver kategori i kategoritabel
  Skriv kategori
  Hent poster til kategori
  For hver post
    Skriv post
  Næste post
Næste Kategori
Avatar billede oasen Nybegynder
27. juni 2002 - 21:20 #4
Ja, så skal du først løbe Db'en med kategori-oversigten igennem.
Ved hvert step skal den pågældende overskrift udskrives og ved samme lejlighed lave en SQl, der fra den anden DB udvælger netop de poster, der svarer til kategorien.

Er det Access? Hvordan er dine tabeller opbygget? Hvordan relaterer de to tabeller til hinanden?
Avatar billede oasen Nybegynder
27. juni 2002 - 21:27 #5
strSQL = "Select * From KategoriOversigt"
Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF
  Response.Write rs("Kategori") & "<br>"
  strSQL = "Select * From KategoriEmner"
  Set rskat = Conn.Execute(strSQL)
  Do While Not rskat.EOF
      Response.Write rskat("Tekst") & "<br>"
      rskat.MoveNext
  Loop
  Set rskat = Nothing
  rs.MoveNext
Loop
Avatar billede oasen Nybegynder
27. juni 2002 - 21:29 #6
Sådan...

strSQL = "Select * From KategoriOversigt"
Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF
  Response.Write rs("Kategori") & "<br>"
  strSQL = "Select * From KategoriEmner Where Kategori = '" & rs("Kategori") & "'"
  Set rskat = Conn.Execute(strSQL)
  Do While Not rskat.EOF
      Response.Write rskat("Tekst") & "<br>"
      rskat.MoveNext
  Loop
  Set rskat = Nothing
  rs.MoveNext
Loop
Avatar billede sorenmt84 Juniormester
27. juni 2002 - 21:40 #7
>> oasen

Gider du skrive hele koden, jeg tænker også på den del som opretter en forbindelse til databasen, for jeg kan ikke helt få det til at virke...
Avatar billede oasen Nybegynder
27. juni 2002 - 21:48 #8
Det vil jeg gerne gøre, men du er nødt til at give mig nogle oplysninger. Jeg aner stadig ikke, hvilken database du bruger, og hvad dine forskellige kolonner hedder i de to tabeller (og hvad de hedder).
Avatar billede sorenmt84 Juniormester
27. juni 2002 - 21:52 #9
Databasen hedder db.mdb

Tabellen med kategorierne hedder kategori og indeholder id og kategori

Den med "Posterne" hedder tekst og indeholder id refid (Passer sammen med id i kategori) og tekst
Avatar billede oasen Nybegynder
27. juni 2002 - 22:00 #10
Ok - det laver jeg lige.
Avatar billede oasen Nybegynder
27. juni 2002 - 22:07 #11
<%
' ÅBEN DB
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.Mappath("db.mdb")
Conn.Open DSN

strSQL = "Select * From kategori"
Set rs = Conn.Execute(strSQL)

Do While Not rs.EOF
  Response.Write rs("kategori") & "<br>"
  strSQL = "Select * From tekst Where refid = '" & rs("id") & "'"
  Set rs2 = Conn.Execute(strSQL)
  Do While Not rs2.EOF
      Response.Write rs2("tekst") & "<br>"
      rs2.MoveNext
  Loop
  Set rs2 = Nothing
  rs.MoveNext
Loop

Set rs = Nothing
' LUK DB
Conn.Close
Set Conn = Nothing
%>
Avatar billede sorenmt84 Juniormester
27. juni 2002 - 22:19 #12
Takker... ''erne rundt om rs("id") skulle lige slettes, men så virkede det også perfekt. Laver du lige et svar?
Avatar billede oasen Nybegynder
27. juni 2002 - 22:33 #13
Ja, det skal de - det er jo ikke tekst.
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