webForumDet fria alternativet

paging och fso

ASP

10 svar · 238 visningar · startad av antar

Medlem sedan dec. 2001289 inlägg
Frågan#1

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%>
Medlem sedan mars 20015 287 inlägg
#2

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.

Medlem sedan dec. 2001289 inlägg
#3

hur gör jag det?

Medlem sedan mars 20015 287 inlägg
#4

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.)

Medlem sedan dec. 2001289 inlägg
#5

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%>
Medlem sedan mars 20015 287 inlägg
#6

Vill inte spräcka glädjen men den pagingen fungerar inte om du har andra bilder än dina gif i mappen...

Medlem sedan mars 20015 287 inlägg
#7
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
Medlem sedan dec. 2001289 inlägg
#8

:( hur ska jag göra då?

Medlem sedan mars 20015 287 inlägg
#9

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.

Medlem sedan dec. 2001289 inlägg
#10

tack :D perfekt

Medlem sedan dec. 2001289 inlägg
#11

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%>
261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)