06. marts 2006 - 11:27Der er
26 kommentarer og 1 løsning
problem med loop
Jeg har prøvet at lave en simpel loop. Den går i al sin simpelhed ud på at skulle vise 2 td'er ved siden af hinanden( en til et billede og en til besskrivelse af billedet), er der flere billeder der skal beskrives skal der komme to mere td'er frem, er der flere, skal det fortsætte nedenunder så det er sådan her:
td'1 m. billede | td'1 beskrivelse | td'2 m. billede | td'2 beskrivelse _________ td'3 m. billede | td'3 beskrivelse | ect. ect.
håber det er til at forstå.
med det simple script jeg har lavet får jeg en underlig fejl.
SCRIPT:
<tabel border="1">
<% counter = 0 Do while not record.eof %> <td width="143" height="165"><img src="billeder/jpg/<%= record("billede") %>"></td> <td width="140" valign="top">indholde af vare nr. 1</td> <% counter = counter + 1 if counter = 2 then %> <tr></tr> <% counter = 0 end if loop %>
</tabel>
FEJLEN:
Response object error 'ASP 0251 : 80004005'
Response Buffer Limit Exceeded
/index.asp, line 0
Execution of the ASP page caused the Response Buffer to exceed its configured limit.
Det er fordi du ikke får startet dine rækker korrekt.
<tabel border="1">
<% counter = 0 Do while not record.eof if counter mod 3 = 0 then %> <tr> <% end if %> <td width="143" height="165"><img src="billeder/jpg/<%= record("billede") %>"> </td> <td width="140" valign="top">indholde af vare nr. 1</td> <% counter = counter + 1 if counter mod 3 = 2 then %> <tr> <% counter = 0 end if record.movenext loop record.close
' afslut tabellen if counter mod 3 <> 2 then do while counter mod 3 > 0 response.write "<td> </td>" counter = counter + 1 loop response.write "</tr>" end if %>
Jeg tror det er fordi du ønsker et 2-kolonne layout og jeg har lavet det til 3 kolonner :)
prøv denne i stedet (så kan du ændre på antallet af kolonner i variablen cols):
<tabel border="1">
<% cols = 2 counter = 0 Do while not record.eof if counter mod cols = 0 then %> <tr> <% end if %> <td width="143" height="165"><img src="billeder/jpg/<%= record("billede") %>"> </td> <td width="140" valign="top">indholde af vare nr. 1</td> <% counter = counter + 1 if counter mod cols = cols-1 then %> <tr> <% end if record.movenext loop record.close
' afslut tabellen if counter mod cols <> cols-1 then do while counter mod cols <> cols-1 response.write "<td width="143" height="165"> </td><td width="140" valign="top"> </td>" counter = counter + 1 loop response.write "</tr>" end if %>
Ok, så kommer der lige et sidste forsøg (så vil jeg ikke spilde din tid med mine sære forslag):
<tabel border="1">
<% cols = 2 counter = 0 Do while not record.eof if counter mod cols = 0 then %> <tr> <% end if %> <td width="143" height="165"><img src="billeder/jpg/<%= record("billede") %>"> </td> <td width="140" valign="top">indholde af vare nr. 1</td> <% counter = counter + 1 if counter mod cols = 0 then %> </tr> <% end if record.movenext loop record.close
' afslut tabellen if counter mod cols <> 0 then do while counter mod cols <> 0 response.write "<td width=""143"" height=""165""> </td><td width=""140"" valign=""top""> </td>" counter = counter + 1 loop response.write "</tr>" end if %>
ok inden du render, så har jeg lige noget du måske kan hjælpe dig til at lave noget. Jeg har en anden fil på samme link http://milletest.millet-design.dk/index.asp?side=varer&id=1 prøv lige og kig, scriptet kommer her og det virker, men bare ikke det jeg ønsker.
ok det er nok en skrive fejl, der kommer ikke nogen fejl i browseren, men det "smelter" tabellerne sammen. HAr du kigget på det andet jeg skrev som virker?
Hvis det ikke er det du vil have, giver det vel ikke så meget mening at kigge på det...? Det er jo bare en simpel udskrivning af rækker (med lidt rowspan), men det er jo slet ikke den udfordring du står overfor med dette layout. Her vil du have flere records på samme linie og det betyder at du er nød til at håndtere at rækken skal skifte efter et givent antal kolonner er udskrevet.
Kan du ikke lige prøve at implementere koden på din testside, så jeg har mulighed for at se den source som bliver genereret på siden...?
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.