Avatar billede kongsteddk Nybegynder
11. august 2002 - 14:25 Der er 6 kommentarer og
2 løsninger

Databaseudtræk i tabel....

Hvordan laver man et databaseudtræk i en tabel, der selv skifter til næste række når der fx. er kommet 4 felter vandret?
Avatar billede hells Nybegynder
11. august 2002 - 14:33 #1
tal = 0
Response.Write "<table><tr>"
Do
Response.Write "<td>" & rs("feltnavn") & "</td>"
rs.MoveNext
tal = tal + 1
If tal = 4 Then
    Response.Write "</tr><tr>"
    tal = 0
End If
Loop While NOT rs.EOF
Response.Write "</tr></table>"
Avatar billede scope Nybegynder
11. august 2002 - 14:49 #2
Det du skal have fat i er modulus som er heltalsdivision..
eks.:
<table>
    <%
        i = 0
        first = true
        do while NOT rs.EOF
            if first then
                first = false
                response.write "<tr><td>" & rs("feltnavn") & "</td>"
            else
                if i mod 4 = 0 then
                    response.write "</tr><tr><td>" & rs("feltnavn") & "</td>"
                else
                    response.write "<td>" & rs("feltnavn") & "</td>"
                end if
            end if
            i = i + 1
        rs.movenext
        loop
        select case i mod 4
            case 0:
                response.write "</tr>"
            case 1:
                response.write "<td colspan=""3"">&nbsp;</td></tr>"
            case 2:
                response.write "<td colspan=""2"">&nbsp;</td></tr>"
            case 3:
                response.write "<td>&nbsp;</td></tr>"
        end select
    %>
</table>

- Scopas
Avatar billede scope Nybegynder
11. august 2002 - 14:50 #3
Må vel også hellere svare..
Avatar billede kongsteddk Nybegynder
11. august 2002 - 15:14 #4
Hells var først, og det var den jeg brugte, men Scope gav også et bud!
Avatar billede scope Nybegynder
11. august 2002 - 15:17 #5
Du skal blot lige være opmærksom på at den første løsning kan give lidt problemer eftersom at den ikke fylder tabellen ud alt efter hvor mange poster du hiver ud.. Prøv at check det ved at sætte border="1" på tablen..
Avatar billede kongsteddk Nybegynder
11. august 2002 - 15:21 #6
Ved det, men det gør ikke noget, da tabellen skal være i 4 X 3 celler! Skal bruges i forbindelse med månederne.
Men jeg kommer lige i tanke om at jeg har et andet problem. Hvordan laver man en begrænsnin i et databaseudtræk, så den kun tager de 12 liner med højeste værdi i id?
Avatar billede scope Nybegynder
11. august 2002 - 15:26 #7
Hvis du bruger den øverste så skal du nede ved loop skrive således:
Loop While NOT rs.EOF AND tal <= 12
Avatar billede scope Nybegynder
11. august 2002 - 15:28 #8
Og i din sql sætning skal du så: ORDER BY id DESC
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