Avatar billede marcus456 Nybegynder
18. september 2005 - 19:28 Der er 6 kommentarer og
1 løsning

db-galleri, tabel med brud

Jeg har rodet rundt med diverse tabelløsninger til et galleri hvor jeg trækker billederne ud af en db.
Jeg kan sagtens trække data ind i en tabel, men jeg har brug for at den "knækker" efter 3-4 billeder istedet for det bare står på en række..lodret eller vandr.
Jeg kunne naturligvis omkranse hele opjektet med kun en tabel og rette ind efter, men det er vist at springe over hvor gæret er lavest.
Har nogen en ide til hvordan jeg knækker tabellen efter 4-5 billeder på en række?
Dette er koden jeg er kommet til nu:

<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("gal.mdb")
Conn.Open DSN

strSQL = "SELECT stiLilleBillede, stiStortBillede, * FROM billedTabel"

Set rs = Conn.Execute(strSQL)
%>
<table border=1>
  <tr>
    <%
do while not rs.EOF%>
    <td>
      <%
response.write "<a href='show.asp?id=" & rs("id") & "' target=''><img src='" & rs("stiLilleBillede") & "'style='border: 0px;'></a>"
%>
  </tr>
  <%

  rs.MoveNext
loop
%>
</table>
<%

Conn.Close
Set Conn = Nothing
%>
Avatar billede musicchart.dk Nybegynder
18. september 2005 - 19:31 #1
if rs.EOF then
  Response.write "Ingen billeder i databasen."
else
  colPrRow = 4 'ændre dette efter behov
  colInRow = 0
  response.write "<table width=""200"" border=""1"">"
  do while NOT RS.EOF
    if colInRow = 0 then response.write "<tr>"
    response.write "<a href='show.asp?id=" & rs("id") & "' target=''><img src='" & rs("stiLilleBillede") & "'style='border: 0px;'></a>"
%>

    colInRow = colInRow + 1
    if colInRow >= colPrRow then
      colInRow = 0
      response.write "</tr>"
    end if
    RS.MoveNext
  loop
  if colInRow > 0 then
    Response.Write "</tr>"
  end if
  response.write "</table>"
end if
Avatar billede musicchart.dk Nybegynder
18. september 2005 - 19:32 #2
Hov, nå så får du også det hele med :o) :

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("gal.mdb")
Conn.Open DSN

strSQL = "SELECT stiLilleBillede, stiStortBillede, * FROM billedTabel"

Set rs = Conn.Execute(strSQL)

if rs.EOF then
  Response.write "Ingen billeder i databasen."
else
  colPrRow = 2
  colInRow = 0
  response.write "<table width=""200"" border=""1"">"
  do while NOT RS.EOF
    if colInRow = 0 then response.write "<tr>"
    response.write "<a href='show.asp?id=" & rs("id") & "' target=''><img src='" & rs("stiLilleBillede") & "'style='border: 0px;'></a>"
    colInRow = colInRow + 1
    if colInRow >= colPrRow then
      colInRow = 0
      response.write "</tr>"
    end if
    RS.MoveNext
  loop
  if colInRow > 0 then
    Response.Write "</tr>"
  end if
  response.write "</table>"
end if


Conn.Close
Set Conn = Nothing

%>
Avatar billede marcus456 Nybegynder
18. september 2005 - 19:41 #3
tak der...

hvorfor> response.write "<table width=""200"" border=""1"">"
..den ligger sig under billederne

Dette:
colPrRow = 2
colInRow = 0

Kan det ikke skrives inde i selve < table....> ?
Avatar billede musicchart.dk Nybegynder
18. september 2005 - 19:45 #4
response.write "<table width=""200"" border=""1"">" >> det er jo bare starttagget på tabellen, ændre det efter behov for mere eller mindre bredde.

"
Dette:
colPrRow = 2
colInRow = 0

Kan det ikke skrives inde i selve < table....> ?
"

Nej, det kan det ikke. Men du har jo fået det nemt, som jeg har smidt det til dig, skal du jo bare ændre variablen 'colPrRow'
Avatar billede marcus456 Nybegynder
18. september 2005 - 20:17 #5
jaja..forsøger bare lige at forstå logikken i det nye der, om det eventuelt kunne laves mere simpelt, mener om jeg kunne fjerne overflødige ting, men det er fint.
Der ligger sig en "salgs" tabel/streg under billederne når border står til at være 1.
Og der er slet ingen afstand billederne imellem.
Hvis jeg stiller border til 0 forsvinder tabellen under.
Kan jeg ændre afstanden billederne imellem på en anden måde, for  "<table width=""200"" border=""1"">" har ingen effekt på dette, kun størrelsen af tabel mærkeligt nok
Avatar billede musicchart.dk Nybegynder
18. september 2005 - 20:48 #6
"<table width=""200"" border=""1"" cellPadding=""10"">" - sådan noget?
Avatar billede marcus456 Nybegynder
19. september 2005 - 02:37 #7
du kan se hvordan jeg har lavet koden om nu:

response.write "<table width=""400"" border=""1"" cellspacing=""20"" align=""center"">"
  do while NOT RS.EOF
    if colInRow = 0 then response.write "<tr>"
    response.write "<a href='show.asp?id=" & rs("id") & "' target=''><img src='" & rs("stiLilleBillede") & " 'border=1';'bordercolor=#000000'; 'cellPadding=10';></a>"

Og du kan se hvordan tabellen ligger sig nedenunder billederne her http://freehost14.websamba.com/nsnsns
At der er 1px afstand mellem pics er fordi jeg har sat border til 1 længere nede i koden og jeg fatter ikke når det virker hvorfor bordercolor så ikke virker.
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