Avatar billede dtc Nybegynder
25. oktober 2004 - 23:22 Der er 5 kommentarer og
1 løsning

Udtræk fra AccesDB vandret?

Hvordan kan jeg lave et udtræk fra min DB således at der kommer 3 poster ved siden af hinanden før den går til næste linie?

Her er koden:

    <%
                      set rs=server.CreateObject("ADODB.Recordset")
                      rs.open "SELECT * FROM hovedetabel ORDER by Titel ASC ",conn
                      %> <%
                      f = 0
                      farve = "#6d87a0"

                      do while not rs.eof %>
<table width="600" border="0" cellspacing="0" cellpadding="0">
<tr align="center">
    <td><%=rs("Cover - Thumbnail")%>                   
                  </td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr align="center">
<td><% =rs("Titel") %></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
    <%
               
                      rs.movenext
                      loop  %>
</table>
Avatar billede eagleeye Praktikant
25. oktober 2004 - 23:38 #1
Prøv sådan her:



    <%
                      set rs=server.CreateObject("ADODB.Recordset")
                      rs.open "SELECT * FROM hovedetabel ORDER by Titel ASC ",conn
                      %> <%
                      f = 0
                      farve = "#6d87a0"
                      maxPrRow = 3
                      noPrRow=0
                      do while not rs.eof %>
<table width="600" border="0" cellspacing="0" cellpadding="0">
  <% if noPrRow=0 then %>
  <tr align="center">
  <% end if %>
    <td><table><tr align="center"><td><%=rs("Cover - Thumbnail")%></td></tr>       
              <tr align="center"><td><%=rs("Titel") %></td></tr></table>
    </td>
  <%
  noPrRow=noPrRow+1
  if noPrRow=maxPrRow then
    noPrRow=0
    response.write "</tr>"
  end if
                    rs.movenext
                    loop
  if noPrRow>0 then response.write "</tr>"
%>
</table>
Avatar billede dtc Nybegynder
25. oktober 2004 - 23:43 #2
Jeg får et lidt underligt resultat - prøv lige at se på:

http://www.a-vision.dk/test/ks/list/
Avatar billede steen_hansen Forsker
25. oktober 2004 - 23:52 #3
Måske <table> skulle sættes udenfor løkken? Nu oprettes der en tabel for hver gang løkken køres igennem :) Og måske <td align="left" valign="top"> inde i løkken?
Avatar billede dtc Nybegynder
26. oktober 2004 - 00:08 #4
Jeg har selv løst den med flg. kode:

<%
                      set rs=server.CreateObject("ADODB.Recordset")
                      rs.open "SELECT * FROM hovedetabel ORDER by Titel ASC ",conn
                      %>   
<table width="600" border="0" cellspacing="0" cellpadding="0">
  <tr align="center"> <%
counter = 0
Do while not rs.eof
%>
    <td align="left"><%=rs("Cover - Thumbnail")%> <br>
      <% =rs("Titel") %></td>      <%
counter = counter + 1
if counter = 3 then
response.write("</TR><TR>")
counter = 0
end if
rs.MoveNext()
loop
%>

  </tr>

</table>
Avatar billede pixelpaw Nybegynder
26. oktober 2004 - 00:10 #5
måske kan det gøres lidt smartere med dette:

runs = 16
cols = 3
for i=0 to 16
    if (i mod (cols+0) = 0) then Response.Write("<tr>")
    Response.Write("<td>" & i mod (cols+0) & "</td>") ' write your stuff here
    if (i mod (cols+0) = 3) then Response.Write("</tr>")
next

det er bare prencippet i det. Forløkken er din do while, gad bare ikke lige til at smide en DB sammen osv.
Avatar billede pixelpaw Nybegynder
26. oktober 2004 - 00:11 #6
hov, et par overflødige testting, det her ser lidt bedre ud:

runs = 16
cols = 3
for i=0 to 16
    if (i mod cols = 0) then Response.Write("<tr>")
    Response.Write("<td>" & i & "</td>") ' write your stuff here
    if (i mod cols = cols) then Response.Write("</tr>")
next
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