Avatar billede ravnkilde Nybegynder
03. august 2006 - 15:06 Der er 5 kommentarer og
1 løsning

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 ---
Avatar billede gertp Nybegynder
03. august 2006 - 15:14 #1
kan du ikke bare fjerne </tr> i denne linie:
width=""10%""><b>Video</b></td><td><b>PPT</b></td><td><b>Poster</b></td><td><b>JPP</b></tr>"
Avatar billede gertp Nybegynder
03. august 2006 - 15:16 #2
og: & "<tr bgcolor="""& strBGColor &"""> i denne:
strProducts = strProducts & "<tr bgcolor="""& strBGColor &""">
Avatar billede ravnkilde Nybegynder
04. august 2006 - 10:09 #3
det er vist ikke løsningen!
Avatar billede gertp Nybegynder
04. august 2006 - 13:12 #4
denne her:
drop</td><td><a href="&strJPP_URL&">"& strJPP_Pic &"</a></td></tr>"

        objRs.MoveNext

skal så lige ændres til:
drop</td><td><a href="&strJPP_URL&">"& strJPP_Pic &"</a></td></tr>"

        objRs.MoveNext
response.write "</tr>"
Avatar billede gertp Nybegynder
04. august 2006 - 13:13 #5
drop</td><td><a href="&strJPP_URL&">"& strJPP_Pic &"</a></td>"

        objRs.MoveNext
response.write "</tr>"
Avatar billede ravnkilde Nybegynder
09. august 2006 - 15:52 #6
lukker spørgsmål. Se i stedet http://www.eksperten.dk/spm/724834.
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