Största felet du gör, förutom att dubbelposta ;) , är att du i denna bit:
Sidor = (Mapp.Files.Count-1)/Pagesize + 1
Räknar ALLA filer i mappen, sen ska du bara ha .gif
Där spricker kalkylen.
10 svar · 238 visningar · startad av antar
hur listar jag bara .gif med den här koden och få paging och fungera?
<%Pagesize = 2
Sidor = (Mapp.Files.Count-1)/Pagesize + 1
Sidan = CInt(Request.Querystring("sida"))
If Sidan = "" Then Sidan = 1
If Sidan > Sidor Then Sidan = Sidor
Start = Pagesize*(Sidan-1) + 1
Slut = Start + Pagesize - 1
If Slut > Mapp.Files.Count Then Slut = Mapp.Files.Count
i = 1
For each file in Mapp.Files
if i >= start then %>
<tr>
<td><a href="index.asp?visa=pics&do=pic&bild=<%=File.Name%>&size=<%=Round(File.Size/1000, 1)%>"><%=File.Name%></a></td><td align="right"><a href="java script:Tabort('index.asp?visa=deletepic&name=<%=File.Name%>')">Ta bort</a></td>
</tr>
<% end if
if i = slut then exit for
i = i + 1
Next %>
<tr>
<td colspan="2"><img src="bilder/dot1.gif"></td>
</tr>
<tr>
<td colspan="2">
<%For i = 1 To Sidor
If i = Sidan Then
Response.Write "<b>" & i & "</b>"
Else
Response.Write " <a href='index.asp?visa=pics&sida=" & i & "'>" & i & "</a> "
End If
Next%>
Största felet du gör, förutom att dubbelposta ;) , är att du i denna bit:
Sidor = (Mapp.Files.Count-1)/Pagesize + 1
Räknar ALLA filer i mappen, sen ska du bara ha .gif
Där spricker kalkylen.
hur gör jag det?
Jag vet inte riktigt, en variant kan kanske vara att loopa igenom alla filer, dock tror jag att du borde ha en funktion som du kallar på varje gång du ska åt antalet...
Typ:
For Each File In Mapp.Files
If right(file.Name,4) = ".gif" then
gifantal = gifantal + 1
End If
Next
Dock får jag en så attans stark Deja Vu känsla av detta så jag tror faktist detta variy uppe, och löst, tidigare... (Bättre.)
lyckats fixa paging men inga gif bilder :(
For Each File In Mapp.Files
If right(file.Name,4) = ".gif" then
gifantal = gifantal + 1
End If
Next
Pagesize = 3
Sidor = (gifantal-1)/Pagesize + 1
If Request.QueryString("sida") = "" then
sidan = 1
Else
sidan = cint(Request.QueryString("sida"))
end if
If Sidan > Sidor Then Sidan = Sidor
Start = Pagesize*(Sidan-1) + 1
Slut = Start + Pagesize - 1
If Slut > gifantal Then Slut = gifantal
i = 1
For each file in Mapp.Files
if i >= start then %>
<%=file.name%>
<%
end if
if i = slut then exit for
i = i + 1
Next
For i = 1 To Sidor
Next%>
Vill inte spräcka glädjen men den pagingen fungerar inte om du har andra bilder än dina gif i mappen...
For each file in Mapp.Files
If right(file.Name,4) = ".gif" then
if i >= start then %>
<%=file.name%>
<p>
<%
end if
if i = slut then exit for
i = i + 1
End If
Next
:( hur ska jag göra då?
En liten reflektion, varför postar du inte "hela" scriptet egentligen? Med Fso-biten o så?
Det blir ju lättare för folk att hjälpa dig om de kan testa själv samt att någon annan kanske vill ta del av koden i framtiden.
tack :D perfekt
det e bara paging koden som jag inte postat här har du!
<%For i = 1 To Sidor
If i = Sidan Then
Response.Write "<b>" & i & "</b>"
Else
Response.Write " <a href='bild.asp?sida=" & i & "'>" & i & "</a> "
End If
Next%>