<code> Hmm, lite klurigt var det men jag tror att jag har förstått varför det blir som det blir. <code>skall vara max 4 TD, det blir 5
<%for i=0 to UBOUND(galleryData,2)
galleryname =galleryData(1,i)
galleridatum=galleryData(4,i)&" "
if i=0 then
response.write "<B>"&galleridatum&galleryname&"</B><BR>"&_
"<TABLE CELLPADDING=2 CELLSPACING=4 BORDER=0><TR>"&VbCrLf
end if
if prevevent <> galleryname AND i > 0 then
response.write "</TR></TABLE><BR><B>"&galleryData(4,i)&" "&galleryname&"</B><BR>"&_
"<TABLE CELLPADDING=2 CELLSPACING=4 BORDER=0><TR>"&VbCrLf
imagesfromsameevent=0
end if
imagesfromsameevent=imagesfromsameevent+1
if imagesfromsameevent > 4 then
response.write "</TR><TR>"&VbCrLf
imagesfromsameevent = 0
end if
response.write "<TD class=""meny"" align=""center"" valign=""top"" style=""background-color:#EEEEEE; width:120px;"">"&_
""&_
""&_
"<BR>"&galleryData(3,i)&"</TD>"&VbCrLf
prevevent=galleryData(1,i)
next
response.write "</TR></TABLE><BR>"&VbCrLf%>
</code>
Kan någon se varför det blir 5 TD på andra raden i denna tabell?!
Länken till sidan:
http://allstarsrunners.se/default.asp?show=runnergallery&userID=2
edit: fel kodSv: skall vara max 4 TD, det blir 5
If-sats #2 skapar ju en ny tabell för nästa galleri och nollställer räknaren <code>imagesfromsameevent=0</code>
Efter detta börjas det på ny kula med
<code>imagesfromsameevent=imagesfromsameevent+1</code>
Räknaren ökar med 1 och första bilden genereras.
Problemet kommer när If-sats #3 blir sann, dvs när den loopat fram 4 bilder och börjar på ny rad, då skrivs första bilden ut utan att man räknar den. När koden för nästa bild skall genereras ökas räknaren imagesfromsameevent med 1 och vid det här laget har det skrivits kod för 2 bilder men räknaren har bara koll på 1.
För att det ska bli rätt borde du kunna ändra din 3:e If-sats till följande:
<code>
if imagesfromsameevent > 4 then
response.write "</TR><TR>"&VbCrLf
imagesfromsameevent = 1
end if
</code>
Eller flytta den så att uppräkningen sker efter att koden för bilden verkligen genererats. Jag skulle nog göra flytten eftersom det då blir ett bättre flyt i koden, enklare att läsa helt enkelt. Resultatet blir då:
<code>
<%for i=0 to UBOUND(galleryData,2)
galleryname =galleryData(1,i)
galleridatum=galleryData(4,i)&" "
if i=0 then
response.write "<b>"&galleridatum&galleryname&"</b><BR>"&_
"<TABLE CELLPADDING=2 CELLSPACING=4 BORDER=0><TR>"&VbCrLf
end if
if prevevent <> galleryname AND i > 0 then
response.write "</TR></TABLE><BR><b>"&galleryData(4,i)&" "&galleryname&"</b><BR>"&_
"<TABLE CELLPADDING=2 CELLSPACING=4 BORDER=0><TR>"&VbCrLf
imagesfromsameevent=0
end if
response.write "<TD class=""meny"" align=""center"" valign=""top"" style=""background-color:#EEEEEE; width:120px;"">"&_
""&_
""&_
"<BR>"&galleryData(3,i)&"</TD>"&VbCrLf
imagesfromsameevent=imagesfromsameevent+1
if imagesfromsameevent > 4 then
response.write "</TR><TR>"&VbCrLf
imagesfromsameevent = 0
end if
prevevent=galleryData(1,i)
next
response.write "</TR></TABLE><BR>"&VbCrLf%>
</code>Sv:skall vara max 4 TD, det blir 5
if imagesfromsameevent > 4 then
response.write "</TR><TR>"&VbCrLf
imagesfromsameevent = 1
end if
</code>
simpelt, så simpelt.
Mången tack Robert!!