Avatar billede zer0 Nybegynder
19. august 2010 - 14:55 Der er 5 kommentarer og
1 løsning

Efter 5 loops.. så?

Nu har jeg ikke siddet og leget med ASP længe, og må derfor siges at være godt rusten. Men, nu fik jeg lige lyst til at lave en lille side, men er så stødt på et problem.

Jeg har et loop, som virker helt fint. Men, jeg vil gerne have at der bliver lavet en ny <tr></tr> efter hvert 5 loop. Men, jeg kan sgu ikke huske hvordan det laves. Håber i kan hjælpe! i får også lige koden, fra hvor loopet starter.

<% if rsProduct.bof then%>
Ingen at vise
<%else%>
<%do%>
<td><a href="<%=rsProduct("adresse")%>"><img width="138" height="160" src="<%=rsProduct("billedesti")%>"></a></td>
<td width="37"></td>
<%
rsProduct.MoveNext
Loop While Not rsProduct.EOF
end if
%>
Avatar billede The Real Yoda Juniormester
19. august 2010 - 15:08 #1
Sådan der :)

<% if rsProduct.bof then%>
Ingen at vise
<%else
y=0
%>
<%do%>
<td><a href="<%=rsProduct("adresse")%>"><img width="138" height="160" src="<%=rsProduct("billedesti")%>"></a></td>
<td width="37"></td>
<%
y=y+1
if y mod 5 = 0 then response.write "</tr><tr>"
rsProduct.MoveNext
Loop While Not rsProduct.EOF
end if
%>
Avatar billede claes57 Ekspert
19. august 2010 - 15:11 #2
1) du kan ikke få .BOF medmindre du læser filen baglæns - en tom fil vil give .EOF
2) du skal ikke springe så meget mellem html og asp - det giver ekstra arbejde til serveren. Hold dig til ren asp.

dette burde virke - jeg sidder ikke på en maskine, hvor det kan testes.

<% if rsProduct.eof then%>
Ingen at vise
<%
else
  tallet=0
  do
    if tallet=0 then response.write "<tr>"
    response.write "<td><a href=""" & rsProduct("adresse") & """><img width=""138"" height=""160"" src=""" & rsProduct("billedesti") & """></a></td>"
    response.write "<td width=""37""></td>"
    if tallet=4 then response.write "</tr>"
    tallet=tallet+1
    if tallet=5 then tallet=0
    rsProduct.MoveNext
  Loop While Not rsProduct.EOF
end if
%>
Avatar billede zer0 Nybegynder
19. august 2010 - 15:36 #3
Ahh.. selvfølgelig! tak :)

Men, har stadig lidt problemer med at få det til at virke som det skal.. :)

Det jeg gerne vil have gjort, er at der ved hvert 5 loop bliver lavet en ny <tr>, så der kun står 5 billeder ved siden af hinanden. Så, hvis der er 20 udtræk, står de bare 5 ved siden af hinanden, og så bare 4 rækker ned af.

Du/i kan lige få hele koden:

<%
strSQL = "SELECT * FROM produkter WHERE subkategori="&request.QueryString("id")&""
Set rsProduct = Conn.Execute(strSQL)
%>
<%
strSQL = "SELECT * FROM produkter WHERE subkategori="&request.QueryString("id")&""
Set rsProduct2 = Conn.Execute(strSQL)
%>

<table border="0" cellpadding="0" cellspacing="0" width="900">
<tr>
   
<% if rsProduct.bof then%>
Ingen at vise
<%else%>
<%do%>
<td><a href="<%=rsProduct("adresse")%>"><img width="138" height="160" src="<%=rsProduct("billedesti")%>"></a></td>
<td width="37"></td>

</tr><tr>
<td><a href="<%=rsProduct("adresse")%>"><img width="138" height="160" src="<%=rsProduct("billedesti")%>"></a></td>
<td width="37"></td>
       

<%
rsProduct.MoveNext
Loop While Not rsProduct.EOF
end if
%> 
   
</tr>
<tr>
   
<% if rsProduct2.bof then%>

<%else%>
<%do%>
<td bgcolor="#FFFFFF" height="50" valign="top" style="padding-left:10px; padding-top:10px; padding-bottom:5px; "><a href="<%=rsProduct2("adresse")%>"><font size="-2" face="verdana" color="#363636"><b><%=rsProduct2("overskrift")%></font></a></b><br><br><font size="1" font color="#363636">pris inkl. fragt<br></font><font color="#466f90" size="4"> <%=rsProduct2("pris")%>,00</font></td>
<td width="37"></td>

<%
rsProduct2.MoveNext
Loop While Not rsProduct2.EOF
end if
%>
</tr>
</table>



Håber det giver mening helt præcist hvad jeg vil have lavet, og, at i kan hjælpe! :) - har det også lidt på fornemmelsen at jeg har gjort det sværere for mig selv.. :D
Avatar billede zer0 Nybegynder
19. august 2010 - 16:01 #4
Ah, jeg fandt ud af det.. med begge jeres hjælp.. :)
claes57, du må også gerne oprette et svar.
Avatar billede claes57 Ekspert
19. august 2010 - 18:22 #5
det er ligemeget...
Avatar billede claes57 Ekspert
19. august 2010 - 19:21 #6
du skal stadig rette
fra
<% if rsProduct.bof then%>
til
<% if rsProduct.eof then%>

.bof er 'beginning of file' og det kan du kun få ved at åbne en fil og læse baglæns i index. Det bruges extremt sjældent, og virker kun en sekventiel læsning. Der, hvor du bruger det vil du altid kun kunne møde en .eof (end of file = tom eller ikke flere poster)
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