webForumDet fria alternativet
Logga in / Bli medlem

Länk-kategorier med join och getrows

ASP

3 svar · 157 visningar · startad av iceM2

Medlem sedan mars 2001243 inlägg
Trådstart#1

Jag försöker få ihop en sida med länkar som ligger under
sina tillhörande kategorier. Mina två tabeller ser ut så här:

LankKategorier:
id = unikt id nummer för kategorien
KategoriNamn = namnet på kategorin

Lankar:
id = unikt id för länken
LankNamn = namnet på länken
Url = http-adress dit länken leder
katID = nummret till vilken kategori länken tillhör

id fältet i tabellen LankKategorier är i relation med katID i tabellen Lankar.
Så här ser min kod ut:

Dim arrLankar
'Gör hämtning i databasen av gästboksinläggen
strSQL = "SELECT LankKategorier.ID, LankKategorier.KategoriNamn, Lankar.katID, Lankar.LankNamn, Lankar.Url FROM LankKategorier inner JOIN Lankar ON LankKategorier.ID=Lankar.katID Order By katID, LankNamn;"
dbConnect dbUrl, Connection
arrLankar = Connection.Execute(strSQL).GetRows()
Connection.Close
Set Connection = Nothing

Dim N, iID, iKatID, strKategoriNamn, strLankNamn,strUrl

For N = 0 TO UBound(arrLankar,2)
'Ta emot värden från DB, lägg de i en Array
'Lägg arrayerna i dess olika strängar som sedan friseras
iID = arrLankar(0,N)
strKategoriNamn = arrLankar(1,N)
iKatID = arrLankar(2,N)
strLankNamn = arrLankar(3,N)
strUrl = arrLankar(4,N)

Response.Write strKategoriNamn & "<BR>"
Response.Write strLankNamn & "<BR>"
Response.Write strUrl & "<BR><BR>"
Next

Det jag inte är nöjd med är själva presentationsresultatet och jag vet inte hur jag skall
gå till väga, för att få det på det sätt som jag vill.

Jag skulle vilja få presentationsresultatet att se ut så här:

KategoriNamn:
'Lista alla länkar som tillhör kategorin

KategoriNamn:
'Lista alla länkar som tillhör kategorin

'osv...

Hoppas någon kan hjälpa mig :)

Medlem sedan dec. 200012 464 inlägg
#2
pKat = ""
For N = 0 TO UBound(arrLankar,2)
'Ta emot värden från DB, lägg de i en Array
'Lägg arrayerna i dess olika strängar som sedan friseras
iID = arrLankar(0,N)
strKategoriNamn = arrLankar(1,N)
iKatID = arrLankar(2,N)
strLankNamn = arrLankar(3,N)
strUrl = arrLankar(4,N)

if pKat <> strKategoriNamn then
   if pKat <> "" then 
      response.write "<br>"
   end if
   pKat = strKategoriNamn 
   Response.Write pKat & "<BR>"
end if
Response.Write strLankNamn & "<BR>"
Response.Write strUrl & "<BR><BR>"
Next
Medlem sedan mars 2001243 inlägg
#3

Man bockar och bugar LarsG :) Orkar du förklara hur det här med pKat fungerar? Alltså jag har inget problem med att få det att fungera utan jag skulle bara vilja få logiken bakom denna eminenta lösning förklarad.

Kom även att tänka på följande:

if pKat <> strKategoriNamn then

betyder detta: "Om pKat är allt annat än strKategoriNamn, gör då..."

PS: Kommentera gärna min Inner Join om den är dåligt konstruerad, är ny på detta så...

[Redigerat av iceM2 den 11 jan 2002]

Medlem sedan dec. 200012 464 inlägg
#4

Mm, i och med att resultatet är sorterat med avseende på katID så kommer kategorierna i grupp och då pKat skiljer sig från kategoriNamnet så är det en ny kategori.

378 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
122 ms — hämta statistik (db)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)