Avatar billede jones279 Nybegynder
28. april 2004 - 15:00 Der er 12 kommentarer og
1 løsning

Newb - Deling af tabel?

Hey! Jeg har sådan et kald fra en db og et loop... Men jeg ville gerne gøre det sådan så den blev delt op i 2 rækker med 3 i hver... Kan i hjælpe mig med det? Mit loop ser sådan her ud:

<table border="0" cellpadding="0" cellspacing="0">
<%
SQL = "SELECT * FROM typer"
Set rs = conn.Execute(SQL)

  DO WHILE NOT rs.EOF

typeID = RS("id")
tur = RS("type")
pic = RS("pic")
%>
    <tr>
        <td width="15">&nbsp;</td>
        <td height="80" width="104" align="left"><img border=1 height="75" width="100" src="images/<%=pic%>"></td>
        <td height="80"><a href="arrangement.asp?turtype=<%= typeID %>"><%= tur %></a></td>

    </tr><%
rs.MoveNext
LOOP
RS.Close
Set SQL = nothing
%>
</table>
Avatar billede psyclown Nybegynder
28. april 2004 - 15:16 #1
prøv noget alla det her:

<table border="0" cellpadding="0" cellspacing="0">
<%
SQL = "SELECT * FROM typer"
Set rs = conn.Execute(SQL)

antalPrRaekke = 0
DO WHILE NOT rs.EOF

typeID = RS("id")
tur = RS("type")
pic = RS("pic")

if antalPrRaekke = 0 then
%>
<tr>
<% end if %>
    <td width="15">&nbsp;</td>
    <td height="80" width="104" align="left"><img border=1 height="75" width="100" src="images/<%=pic%>"></td>
    <td height="80"><a href="arrangement.asp?turtype=<%= typeID %>"><%= tur %></a></td>
if antalPrRaekke = 3 then
</tr>
<%
    antalPrRaekke = 0
    end if
    if antalPrRaekke < 3 then
%>
</tr>
%>
    end if
    antalPrRaekke = antalPrRaekke + 1
    rs.MoveNext
    LOOP
    RS.Close
    Set SQL = nothing
%>
</table>

Er ikke testet
Avatar billede psyclown Nybegynder
28. april 2004 - 15:18 #2
Du skal nok lige flytte "antalPrRaekke = antalPrRaekke + 1" ovenover det "end if" der er lige ovenover
Avatar billede jones279 Nybegynder
28. april 2004 - 15:19 #3
Microsoft VBScript compilation error '800a0400'

Expected statement

/jonas/musik2/nicher.asp, line 37

end if
^
Avatar billede jones279 Nybegynder
28. april 2004 - 15:21 #4
samme fejl...
Avatar billede jones279 Nybegynder
28. april 2004 - 15:21 #5
Microsoft VBScript compilation error '800a0400'

Expected statement

/jonas/musik2/nicher.asp, line 37

end if
^

linie 37 er den end if der ligger i den her sætning:

<%
    antalPrRaekke = 0
    end if
    if antalPrRaekke < 3 then
%>
Avatar billede psyclown Nybegynder
28. april 2004 - 15:23 #6
<table border="0" cellpadding="0" cellspacing="0">
<%
    SQL = "SELECT * FROM typer"
    Set rs = conn.Execute(SQL)

    antalPrRaekke = 0
    DO WHILE NOT rs.EOF

    typeID = RS("id")
    tur = RS("type")
    pic = RS("pic")

    if antalPrRaekke = 0 then
        response.write "<tr>"
    end if
%>
    <td width="15">&nbsp;</td>
    <td height="80" width="104" align="left"><img border=1 height="75" width="100" src="images/<%=pic%>"></td>
    <td height="80"><a href="arrangement.asp?turtype=<%= typeID %>"><%= tur %></a></td>
%>
    if antalPrRaekke = 3 then
        response.write "</tr>"
        antalPrRaekke = 0   
    elseif antalPrRaekke < 3 then
        response.write "</tr>"
        antalPrRaekke = antalPrRaekke + 1
    end if
    rs.MoveNext
    LOOP
    RS.Close
    Set SQL = nothing
%>
</table>
Avatar billede psyclown Nybegynder
28. april 2004 - 15:24 #7
Sådan her:

<table border="0" cellpadding="0" cellspacing="0">
<%
    SQL = "SELECT * FROM typer"
    Set rs = conn.Execute(SQL)

    antalPrRaekke = 0
    DO WHILE NOT rs.EOF

    typeID = RS("id")
    tur = RS("type")
    pic = RS("pic")

    if antalPrRaekke = 0 then
        response.write "<tr>"
    end if
%>
    <td width="15">&nbsp;</td>
    <td height="80" width="104" align="left"><img border=1 height="75" width="100" src="images/<%=pic%>"></td>
    <td height="80"><a href="arrangement.asp?turtype=<%= typeID %>"><%= tur %></a></td>
<%
    if antalPrRaekke = 3 then
        response.write "</tr>"
        antalPrRaekke = 0 
    elseif antalPrRaekke < 3 then
        response.write "</tr>"
        antalPrRaekke = antalPrRaekke + 1
    end if
    rs.MoveNext
    LOOP
    RS.Close
    Set SQL = nothing
%>
</table>
Avatar billede jones279 Nybegynder
28. april 2004 - 15:24 #8
Ehm... Nu virker det til dels... Den lister den efter hinanden som den altid har gjort :)
Avatar billede jones279 Nybegynder
28. april 2004 - 15:29 #9
if antalPrRaekke = 3 then

skriver du... men ejg har jo mere end 3... Skal der så ikke stå

    if antalPrRaekke >= 3 then
Avatar billede psyclown Nybegynder
28. april 2004 - 15:36 #10
nu testede jeg det lige selv:

<table border="0" cellpadding="0" cellspacing="0">
<%
    SQL = "SELECT * FROM test"
    Set rs = conn.Execute(SQL)

    antalPrRaekke = 0
    do while not rs.EOF
        typeID = rs("id")
        tur = rs("type")
        pic = rs("pic")

        if antalPrRaekke = 0 then
            response.write "<tr>"
        end if

        response.write "<td width=""15"">&nbsp;</td>"
        response.write "<td height=""80"" width=""104"" align=""left""><img border=1 height=""75"" width=""100"" src=""images/"& pic &"""></td>"
        response.write "<td height=""80""><a href=""arrangement.asp?turtype="& typeID  &""">"& tur  &"</a></td>"

        antalPrRaekke = antalPrRaekke + 1
        if antalPrRaekke = 3 then
            response.write "</tr>"
            antalPrRaekke = 0
        end if
        rs.MoveNext
    loop
    if antalPrRaekke < 3 then
        response.write "</tr>"
    end if
    RS.Close
    Set SQL = nothing
%>
</table>
Avatar billede psyclown Nybegynder
28. april 2004 - 15:36 #11
du skal lige skifte "test" ud med "typer" i SQL strengen
Avatar billede jones279 Nybegynder
28. april 2004 - 15:41 #12
KÆFT hvor cool! Million gange tark! :)
Avatar billede psyclown Nybegynder
28. april 2004 - 15:43 #13
selv tak :)

og 3 tallet i "if antalPrRaekke = 3 then" udskifter du bare med det antal du vil have per raekke.
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