ArreMedlem sedan juli 200370 inlägg Hoppas att ni orkar läsa det här.
Jag håller på att göra en script för att lägga in album med "titel", "år" och "spår". Jag har skapat 2 st tabeller i databasen som heter "album" och "tracklisting". I album sparas informationen om albumet och i tracklisting sparas spårnamnen. ID'n som varje album får i tabellen "album" skrivs in i tabellen "tracklisting" i ett fält som heter albumID vid de spåren som är associerade till albumet. Detta för att veta vilka spår som tillhör de olika albumen.
Nu har jag ett problem. Jag vet inte exakt hur jag ska ta ut dessa värden från de olika tabellen, då dessa hör ihop. Om jag vill visa första albumet med ID'n 2 och dess spår som har en 2:a i deras albumID fält, hur ska jag gå tillväga??
Om ni vill se koden så e det bara o hojta till...
Tack på förhand!
LarsGMedlem sedan dec. 200012 464 inlägg Använd följande sql-fråga
select <deKolumneDuVillHa>
from album inner join tracklisting
on album.id = tracklisting.albumid
where album.id = 2
ArreMedlem sedan juli 200370 inlägg menar du såhär?
SQL = "SELECT album.titel, album.year, album.bild, tracklisting.tracknumber, tracklisting.trackname FROM tracklisting INNER JOIN album ON tracklisting.albumID = album.albumID Where album.albumID="& albumId &" Order By tracknumber"
För det här kör jag nu.. o den skriver ut spåren så som det ska men, den visar bara ett album i taget...
LarsGMedlem sedan dec. 200012 464 inlägg
den visar bara ett album i taget...
Eftersom du har villkoret
Where album.albumID="& albumId &"
så blir det så. Om du vill visa flera album så får du ändra på wherevillkoret. Vilka album vill du visa?
ArreMedlem sedan juli 200370 inlägg Jaa såklart!
Tänkte inte ens på det... man kan ju göra såhär:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ="& db2
SQL = "Select albumId, titel, bild From album Order By albumId desc"
Set RecSet = Conn.Execute(SQL)
%>
och sedan:
<%
Do Until RecSet.EOF
albumId = RecSet("albumID")
titel = RecSet("titel")
bild = RecSet("bild")
%>
och avslutningsvis:
<%
SQL = "Select * From tracklisting Where albumID = " & albumId &" Order By tracknumber"
Set RS = Conn.Execute(SQL)
Do Until RS.EOF
%>
<%=RS("tracknumber")%>.<%=RS("trackname")%>
<%
RS.MoveNext
Loop
Set RS = nothing
%>
Eller hur? =) funkar nu..
Tack så hemskt mycket för hjälpen!!
ArreMedlem sedan juli 200370 inlägg drack en kopp kaffe o *vips* så slog det mig plötsligt :P
LarsGMedlem sedan dec. 200012 464 inlägg Jo, man kan men det finns ingen anledning att göra så. Det sättet är ett av de mest ineffektiva. Du kan få ut allt data med en fråga.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)}; DBQ="& db2
SQL = "Select albumId, titel, bild,trackname,tracknumber From album iner join tracklisting on album.id = tracklisting.albumid Order By albumId desc, trackNumber"
Set RecSet = Conn.Execute(SQL)
ptitel = ""
while not RecSet.EOF
if ptitel <> recset("titel") then
albumId = RecSet("albumID")
ptitel = RecSet("titel")
bild = RecSet("bild")
'skriv ut det du ska
end if
<%=RS("tracknumber")%>.<%=RS("trackname")%>
<%
RS.MoveNext
wend
Set RS = nothing
%>
ArreMedlem sedan juli 200370 inlägg Underbart!
Funkar hur bra som helst... tack så hemskt mycket!