Avatar billede websam Nybegynder
14. november 2006 - 09:54 Der er 21 kommentarer og
1 løsning

Loop af tabel ?

Hejsa,

Jeg skal have lavet en loop af nogle tabeller der skal se således ud :

|---------------------------------------------|
||-------------|---------------|-------------||
||-------------|---------------|-------------||
||-------------|---------------|-------------||
||-------------|---------------|-------------||
|---------------------------------------------|

Altså for hver gang der er 3 records skal der laves <tr><td> </td></tr> i denne td skal der så være en tabel med 3 rækker og 3 kolonner en der kan komme med et bud på en løsning til det ?

/Websam
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 09:58 #1
<%
i = i + 1
if i = 1 then
%> <tr>
<%
end if
%>
<td> </td>
<%
if i = 3 then
i = 0
%> </tr>
<%
end if
%>
Avatar billede websam Nybegynder
14. november 2006 - 10:27 #2
og hvor kommer min loop af data ind i dette ?
Avatar billede websam Nybegynder
14. november 2006 - 10:30 #3
Jeg har et array jeg looper på følgende måde :

for i = 0 to ubound(myArray,2)

next

og så skal jeg bare vide hvorledes jeg får dit forslag ind i dette.

/Websam
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 11:07 #4
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<%
for i = 0 to ubound(myArray,2)

b = b + 1
if b = 1 then
%> <tr>
<%
end if
%>
<td> og her kommer det du skal have ind </td>

<%
if b = 3 then
b = 0
%> </tr>
<%
end if
next
%>
</table>
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 11:08 #5
eller måske lidt mere overskueligt

<table width="100%" border="1" cellspacing="0" cellpadding="0">
<%
for i = 0 to ubound(myArray,2)
b = b + 1
if b = 1 then response.write "<tr>"
%>

<td> og her kommer det du skal have ind </td>

<%
if b = 3 then response.write "</tr>"
b = 0
end if
next
%>
</table>
Avatar billede websam Nybegynder
14. november 2006 - 11:18 #6
ok det er så ikke helt det jeg merner. Det første jeg er kommet frem til er sådan her og det virker fint nok :

j = j + 1
    if j = 1 then
    response.Write("<tr><td>"&vbcrlf)
end if

'--- DETTE KAN JEG IKKE FÅ TIL AT SPILLE
Her skal jeg have en tabel med 3 rækker og kolonner der kan vise produkter på følgende måde :

Produkt 1    Produkt 2    Produkt 3
Billede 1    Billede 2    Billede 3
Vejl. P 1    Vejl. P 2    Vejl. P 3

if j = 3 then
    j = 0
    response.Write("</td></tr>"&vbcrlf)
end if

Kan du hjælpe med det ?

/Websam
Avatar billede websam Nybegynder
14. november 2006 - 12:09 #7
gik du kold på dette ? Den er godt nok lidt langhåret, men skulle gerne have det til at spille ;o)

/Websam
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 12:14 #8
hvor kommer disse fra
Produkt 1    Produkt 2    Produkt 3
Billede 1    Billede 2    Billede 3
Vejl. P 1    Vejl. P 2    Vejl. P 3
Avatar billede websam Nybegynder
14. november 2006 - 12:23 #9
de ligger i mit array som trækkes fra databasen ;o)

/websam
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 12:27 #10
dvs at dit array ser således ud  Produkt 1,Produkt 2,Produkt 3,Billede 1,Billede 2,Billede 3,Vejl. P 1,Vejl. P 2,Vejl. P 3
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 12:32 #11
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<%
fra_tabel = "Produkt 1,Produkt 2,Produkt 3,Billede 1,Billede 2,Billede 3,Vejl. P 1,Vejl. P 2,Vejl. P 3"
arr = split(fra_tabel,",")
for b = 0 to Ubound(arr)
j = j + 1
    if j = 1 then
    response.Write("<tr>"&vbcrlf)
end if
%>
<td><%=arr(b)%></td>
<%
if j = 3 then
    j = 0
    response.Write("</tr>"&vbcrlf)
end if
next
%>
</table>
Avatar billede websam Nybegynder
14. november 2006 - 13:07 #12
Når jeg normalt trækker i mit array så er arr(0,i) = produkt 1, arr(1,i) = billede 1, arr(2,i) = pris 1 og det er vist ikke det samme.

Men jeg prøver lige ovenstående og ser hvad resultatet bliver.

/Websam
Avatar billede websam Nybegynder
14. november 2006 - 13:09 #13
mit array bliver lavet med :

sql = select * from tabel
set rs = conn.execute(sql)
rs.getrows()
rs.close

/Websam
Avatar billede websam Nybegynder
14. november 2006 - 13:10 #14
UPS.... arr = rs.getrows()
Avatar billede websam Nybegynder
14. november 2006 - 13:15 #15
Men det er stadigt meningen at det skal ind i en tabel på denne måde :

<table width="100%">
  <tr><td>
    <table width="100%">
        <tr>
            <td>produkt 1</td>
            <td>produkt 2</td>
            <td>produkt 3</td>
        </tr>
        <tr>
            <td>billede 1</td>
            <td>billede 2</td>
            <td>billede 3</td>
        </tr>
        <tr>
            <td>pris 1</td>
            <td>pris 2</td>
            <td>pris 3</td>
        </tr>
    </table>
  </td></tr>
  <tr><td>
    <table width="100%">
        <tr>
            <td>produkt 4</td>
            <td>produkt 5</td>
            <td>produkt 6</td>
        </tr>
        <tr>
            <td>billede 4</td>
            <td>billede 5</td>
            <td>billede 6</td>
        </tr>
        <tr>
            <td>pris 4</td>
            <td>pris 5</td>
            <td>pris 6</td>
        </tr>
    </table>
  </td></tr>
</table>

/websam
Avatar billede websam Nybegynder
14. november 2006 - 13:16 #16
Prøv en gang at kopiere ovenstående ind i en html editor så du kan se hvad meningen med det er ;o)
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 13:36 #17
jeg ville splitte dit array op således

fra_tabel = "Produkt 1,Billede 1,Vejl. P 1,Produkt 2,Billede 2,Vejl. P 2,Produkt 3,Billede 3,Vejl. P 3"
arr = split(fra_tabel,",")
for b = 0 to Ubound(arr)
j = j + 1
    if j = 1 then  rk_1 =  rk_1 & "," & arr(b)
    if j = 2 then  rk_2 = rk_2  & "," & arr(b)
    if j = 3 then  rk_3 = rk_3  & "," & arr(b)
if j = 3 then
    j = 0
end if 
next
%>

<table width="100%" border="1" cellspacing="0" cellpadding="0">
  <tr>
<%
arr_rk_1 = split(right(rk_1,len(rk_1)-1),",")
for b = 0 to Ubound(arr_rk_1)
%>
    <td><%=arr_rk_1(b)%></td>
<%
next
%>
  </tr>
  <tr>
  <%
arr_rk_2 = split(right(rk_2,len(rk_2)-1),",")
for b = 0 to Ubound(arr_rk_2)
%>
    <td><%=arr_rk_2(b)%></td>
<%
next
%>
  </tr>
  <tr>
    <%
arr_rk_3 = split(right(rk_3,len(rk_3)-1),",")
for b = 0 to Ubound(arr_rk_3)
%>
    <td><%=arr_rk_3(b)%></td>
<%
next
%>
  </tr>
</table>
Avatar billede websam Nybegynder
14. november 2006 - 13:56 #18
Når jeg så laver :

fra_tabel = res.getrows()
arr = split(fra_tabel,",")

får jeg fejl der siger :

Microsoft VBScript runtime error '800a000d'
Type mismatch

i denne linie :

arr = split(fra_tabel,",")

???
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 14:15 #19
du har for det første en fejl her
fra_tabel = rs.getrows()
arr = split(fra_tabel,",")

grunden til at den laver fejl er at der ikke er noget i fra_tabel
Avatar billede websam Nybegynder
14. november 2006 - 14:25 #20
Tak for hjælpen, jeg gider ikke bruge mere tid på nu, så point på vej til dig.

/Websam
Avatar billede websam Nybegynder
14. november 2006 - 14:26 #21
Ps. mit array er fyldt med mere end 5000 records så det er ikke tomt.
Avatar billede mitbrugernavn Praktikant
14. november 2006 - 14:31 #22
helt ok
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