Udtræk fra DB - vise flere records på samme linie
Jeg har et produktkatalog. Til hvert produkt er der knyttet brochurer, film, billeder m.m. I flere tilfælde findes der flere brochurer til samme produkt, eks. tysk, engelsk og fransk brochurer. Min nunærende kode laver lige så mange linier som der er brochurer til, eks. produkt A har 3 brochurer = 3 linier for samme produkt.Jeg ønsker at samle alle data på kun én linie. Er der således en dansk, tysk og engelsk brochure til det pågældende produkt, skal der på linien / under brochure-kolonnen vises det danske, tyske og engelske flag. Klik på flag linker til fil. Sprog og URL til brochure hentes fra brochure tabel.
Jeg har prøvet med drop down, men fik det ikke til at virke.
Er der nogle der har prøvet denne problemstilling og kan give et tip til en løsning, vil jeg blive super-glad. Pft.
I min kode nederst henter jeg for brochurens vedkommende kun URL'en og ikke sproget.
--- start kode ---
<%
'Dim variabler
Dim objConn
Dim objRs
Dim strSQL, strPro_Name, strChapter_ID, strBGColor, strProducts, strPic_URL, strVideo_URL, strJPP_URL, strPic, strVideoPic, strJPP_PIC, Bro_URL
Dim blnBGColor
Dim OldChapter
'Database forbindelse
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("../../../database/products.mdb")
'SQL
' strSQL = "SELECT Products.Pro_Name, Chapters.Chapter, Products.Competence_ID, Pictures.Pic_URL, Videos.Video_URL, JPP.JPP_URL FROM (((Chapters INNER JOIN Products ON Chapters.Chapter_ID = Products.Chapter_ID) LEFT JOIN Pictures ON Products.Pro_ID = Pictures.Pro_ID) LEFT JOIN Videos ON Products.Pro_ID = Videos.Pro_ID) LEFT JOIN JPP ON Products.Pro_ID = JPP.Pro_ID WHERE (((Products.Competence_ID)=2));"
strSQL = "SELECT Products.Pro_Name, Chapters.Chapter, Products.Competence_ID, Pictures.Pic_URL, Videos.Video_URL, JPP.JPP_URL, Brochures.Sprog_ID, Brochures.Bro_URL FROM ((((Chapters INNER JOIN Products ON Chapters.Chapter_ID=Products.Chapter_ID) LEFT JOIN Pictures ON Products.Pro_ID=Pictures.Pro_ID) LEFT JOIN Videos ON Products.Pro_ID=Videos.Pro_ID) LEFT JOIN JPP ON Products.Pro_ID=JPP.Pro_ID) LEFT JOIN Brochures ON Products.Pro_ID=Brochures.Pro_ID WHERE (((Products.Competence_ID)=2));"
Set objRs = objConn.Execute(strSQL)
If Not (objRs.BOF AND objRs.EOF) Then
Do While Not objRs.EOF
strName = objRs("Pro_Name")
strChapter = objRs("Chapter")
strPic_URL = objRs("Pic_URL")
strVideo_URL = objRs("Video_URL")
strJPP_URL = objRs("JPP_URL")
strBro_URL = objRs("Bro_URL")
if OldChapter <> strChapter then
strProducts = strProducts & "<table width=""100%"" border=""0"" cellpadding=""2"" cellspacing=""1""><tr bgcolor=""#CCCCCC""><td colspan=""7""><b>" & strChapter & "</b></td></tr><tr bgcolor=""#CCCCCC""><td width=""20%""><b>Product name</b></td><td><b>Brochure</b></td><td><b>Picture</b></td><td width=""10%""><b>Video</b></td><td><b>PPT</b></td><td><b>Poster</b></td><td><b>JPP</b></tr>"
OldChapter = strChapter
end if
If blnBGColor = True Then
strBGColor = "#FFFFFF"
blnBGColor = False
Else
strBGColor = "#eeeeee"
blnBGColor = True
End If
If isnull(objRs("Pic_URL")) Then
strPic = ""
Else
strPic = "<img src=""../../images/icons/jpeg.jpg"" alt=""Picture"" border=""0"" />"
End If
If isnull(objRs("Video_URL")) Then
strVideoPic = ""
Else
strVideoPic = "<img src=""../../images/icons/videokam.gif"" alt=""Video"" border=""0"" /> "
End If
If isnull(objRs("JPP_URL")) Then
strJPP_Pic = ""
Else
strJPP_Pic = "<img src=""../../images/icons/zip.jpg"" alt=""JPP"" border=""0"" />"
End If
strProducts = strProducts & "<tr bgcolor="""& strBGColor &"""><td>"&strName&"</td><td>"&strBro_URL&"</td><td><a href="&strPic_URL&">"& strPic &"</a></td><td><a href="&strVideo_URL&">"& strVideoPic &"</a></td><td>PPT drop</td><td>Poster drop</td><td><a href="&strJPP_URL&">"& strJPP_Pic &"</a></td></tr>"
objRs.MoveNext
if objRs.EOF then
strProducts=strProducts & "</table>"
else
if OldChapter <> objRs("Chapter") then
strProducts=strProducts & "</table><br>"
end if
end if
Loop
Else
strProducts = "<table width=""100%"" border=""0"" cellpadding=""2"" cellspacing=""1""><tr><td>Der er ingen Produkter!</td></tr></table>"
End If
objConn.Close
Set objConn = Nothing
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Products - Flatwork</title>
<style type="text/css">
<!--
td {
font-family: Tahoma, Arial, Geneva, Helvetica;
font-size: small;
}
-->
</style>
</head>
<body>
<!--Start liste
--><%
Response.Write strProducts
%>
</body>
</html>
--- stop kode ---
