19. august 2010 - 14:55Der 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 %>
<% 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 %>
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 %>
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) %>
<% 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
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)
Synes godt om
Ny brugerNybegynder
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.