webForumDet fria alternativet

5 i taget

ASP

27 svar · 522 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

Hur skulle man göra detta på bästa sätt?

Jag vill loopa fram x 200 gånger, alltså så här:

x = 0
Do until x = 200
x = x + 1

Dem första 5 x ska bli så här:

<tr>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

</tr>

Sen ska nästa 5 komma i en ny tr-tagg

<tr>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

<td width="96">
<center><%=convStr2Img(x)%></center>
</td>

</tr>

...och så här ska det då fortsätta till 200, alltså 5 i varje tr-tagg, hur gör man detta på enklaste sätt?

Medlem sedan mars 20015 287 inlägg
#2

typ kanske, kika efter ev. fnuttfel:

<%
response.write "<tr>" 

i = 0
x = 0 
Do until x = 200 
x = x + 1 

i = i + 1

If i = 5 then 
i = 1
response.write "</tr><tr>" 
End If

response.write "<td width=""96""><center>" & convStr2Img(x) & "</center></td> " 

Loop
%>
Medlem sedan feb. 20011 498 inlägg
#3

Det funkade inte, tr-taggen hamnade inte på rätt ställen, dem hamnade lite var som helst

Medlem sedan mars 20015 287 inlägg
#4

Ta bort den första tr-taggen och flytta ut den helt utanför din loop, smat se till att sätt slutttaggar på slutet.

Tror nog att principen är ok i alla fall.

Medlem sedan feb. 20011 498 inlägg
#5

Hur menar du?

Medlem sedan mars 20015 287 inlägg
#6

Är det: "</tr><tr>" som hamnar fel?

Eller är det den första: "<tr>" ?

Medlem sedan feb. 20011 498 inlägg
#7

Kolla i txt-filen jag skickade med.

Medlem sedan juli 2001324 inlägg
#8

<table><%
response.write "<tr>"

i = 1
x = 0
Do until x = 200
x = x + 1

If i = 5 then
i = 1
response.write "</tr>" & vbCrLf & "<tr>"
End If

response.write "<td width=""96""><center>" & convStr2Img(x) & "</center></td> " & vbCrLf

i = i + 1

Loop
response.write "</tr>"
%>
</table>

Medlem sedan feb. 20011 498 inlägg
#9

Det funkar inte heller, blir som förut :(

Medlem sedan dec. 19995 874 inlägg
#10

Detta kanske?

response.write "<table><tr>"
for i=0 to 200
   response.write "<td width=""96""> 
   response.write "<center>"
   response.write convStr2Img(x)
   response.write "</center>"
   response.write "</td>
   if i mod 5 then response.write "</tr><tr>"
next
response.write "</tr></table>"
Medlem sedan mars 20015 287 inlägg
#11

Fungerar för mig, förutsatt att du får till det med start och sluttaggar som tidigare nämnt.

<%
response.write "<table><tr>" 

i = 0
x = 0 
Do until x = 200 
x = x + 1 

If i = 5 then 
i = 0
response.write "</tr><tr>" 
End If

response.write "<td width=""96""><center>" & convStr2Img(x= & "</center></td> " & vbcrlf
i = i + 1
Loop

response.write "</tr><table>" 
%>

=======================
Hjälp mig att få reda på vad det är för fel på min server!
http://www.webforum.nu/showthread.php?s=&threadid=46641

Medlem sedan juli 2001324 inlägg
#12

Min kod funkar...blir såhär när man skriver ut..m.a.o inget fel...:

<table><tr><td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
</tr>
<tr><td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
</tr>
<tr><td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
</tr>
<tr><td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
</tr>
<tr><td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
<td width="96"><center>test</center></td>
</tr>
</table>

Medlem sedan mars 20015 287 inlägg
#13

Quazzo: tror nog att det är din kod jag postade, endast ändrat så att det blev 5 st <td> istället för 4.

Tror nog att det var Ampy som inte "öppnade" eller "stängde" sin table ordentligt.

Dock verkar helt klart Brimbas kod var snyggast.

response.write "<table><tr>"
for i=0 to 200
response.write "<td width=""96""><center>" & convStr2Img(x= & "</center></td> " & vbcrlf
   if i mod 5 then response.write "</tr><tr>"
next
response.write "</tr></table>"
Medlem sedan feb. 20011 498 inlägg
#14

Får inte till det med någons kod:

Med Brimbas som ser ut så här:

<%
response.write "<table border=""0"" width=""480""><tr>"
for i = 1 to 200
   response.write "<td width=""96"">" 
   response.write "<center>"
   response.write convStr2Img(i)
   response.write "</center>"
   response.write "</td>"
   if i mod 5 then response.write "</tr><tr>"
next
response.write "</tr></table>"
%>

Det enda jag ändrade där var denna rad

response.write convStr2Img(i)

skrev i istället för x

och sen ändrade jag 0 to 200 till 1 to 200

men då laddas bara sidan hela tiden.

Medlem sedan mars 20015 287 inlägg
#15

Vad innehåller din funktion convStr2Img()?

RED. Ändrar du i till x måste du givetvis göra det på alla ställen.

Medlem sedan feb. 20011 498 inlägg
#16

Hade redan for i i funktionen så jag ändrade till for a. Men nu skriver den ut tabellen så här:

|------------------------------------
| |
| 1 |
|__|
|------------------------------------
| |
| 2 |
|_
_|
|------------------------------------
| |
| 3 |
|__|
|------------------------------------
| |
| 4 |
|_
_|
|-------------------------------------------------------------------------
| | |
| 5 | 6 |
|__|__|
|------------------------------------
| |
| 7 |
|_
_|
|------------------------------------
| |
| 8 |
|_
_|
|------------------------------------
| |
| 9 |
|_
_|
|-------------------------------------------------------------------------
| | |
| 10 | 11 |
|_
_|_____________________|

osv...

hur fixar man det?

Medlem sedan mars 20015 287 inlägg
#17

Posta hela funktionen som den ser ut nu!

Medlem sedan feb. 20011 498 inlägg
#18

Funktionen:

function convStr2Img(str)
if not len(str) < 1 then
	For i = 1 To Len(str)
        strChar = "<img src=""bilder/stor-" & strPath & "" & Mid(str, i, 1) & ".gif"">"
		strOut = strOut & strChar
	next
	convStr2Img = strOut
end if
end function

Tabellen:

<%
response.write "<table border=""1"" width=""480""><tr>"
for a = 1 to 200
   response.write "<td width=""96"">" 
   response.write "<center>"
   response.write convStr2Img(a)
   response.write "</center>"
   response.write "</td>"
   if a mod 5 then response.write "</tr><tr>"
next
response.write "</tr></table>"
%>
Medlem sedan dec. 19995 874 inlägg
#19

Sorry tabbe, här kommer kod...

<%
response.write "<table><tr>" & vbCrLf
for i=1 to 200
   response.write "<td width=""96"">"
   response.write "<center>"
   response.write convStr2Img(i)
   response.write "</center>"
   response.write "</td>" & vbCrLf
   if i mod 5 = 0 then response.write "</tr><tr>" & vbCrLf
next
response.write "</tr></table>" & vbCrLf
%>
Medlem sedan feb. 20011 498 inlägg
#20

Äntligen så funkar det, tack så mycket allihopa =)

264 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)