webForumDet fria alternativet

Pagingsystem - GetRows()

ASPur ASP

27 svar · 3 016 visningar · startad av Palle · sida 2 av 2

Frågan, av Palle

Detta är en diskussion gällande detta script i wF´s scriptarkiv. Scriptet tar upp ett hett ämne här på wF, nämligen "paging". Jag har valt att göra ett pagingsystem som använder sig utav GetRows() för att hämta informationen från databasen. Navigeringen är konstruerad som så att du själv kan välja mellan att använda knappar eller text,

Läs frågan i sin helhet →
Medlem sedan mars 20011 346 inlägg
#21
Set RecSet = Connect.Execute("SELECT * FROM Referenser WHERE KundId=" & Request.Querystring("KundId") & " ORDER BY Id")
Medlem sedan feb. 20034 441 inlägg
#22

Tjena
Har ett litet problem med det här pagingscriptet nu.
Det har funkar klockrent alla gånger jag använt det, men nu verkar det som om jag ställt till det med något.
Det är nämligen så att när jag har valt att visa en post / sida och när jag har fyra poster totalt, så börjar navigeringen på 0, så det blir:

<Pil> 0 1 2 3 4 <pil>

Det gäller alltså bara vid fyra poster, annars funkar det hur bra som helst.
Skulle gissa att det är något fel i följande kodsnutt:

		If intPage < 4 Then
			intNavStart = 1
			intNavEnd	= 5
		ElseIf intPage > intPages-3 Then
			intNavStart = intPages-4
			intNavEnd	= intPage+2
		Else
			intNavStart = intPage-2
			intNavEnd	= intPage+2
		End If

Behöver alltså lite hjälp med det här, tack!

Medlem sedan feb. 20034 441 inlägg
#23

Tjena
Jag har fortfarande på problem med det jag skriver om ovan.
Det är inte bara när man visar en post / sida utan det blir sådär när det finns 4 sidor totalt.
Då skrivs 0, 1, 2, 3, 4 ut.
När sida 5 skapas försvinner nollan, det är alltså bara när det finns 4 sidor.

Tips?

Medlem sedan juni 200032 967 inlägg
#24

Prova med If intPage <= 4 Then då istället.

mvh

Medlem sedan feb. 20034 441 inlägg
#25

@nders skrev:

Prova med If intPage <= 4 Then då istället.

Aha, det var alltså inte svårare än så. ;)

Tack!

Medlem sedan maj 2001420 inlägg
#26

Hur gör jag när jag vill visa 3 rader med 6 bilder i varje?

If IsArray(arrRecSet) Then

	'// Poster per sida
	intPostsPerPage = 18

	'// Navigeringshantering
	If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
	intFirstPost = (intPage - 1) * intPostsPerPage
	intTotalPosts = UBound(arrRecSet, 2)
	intPages = ((intTotalPosts)\intPostsPerPage)+1

	If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
		intLastPost = UBound(arrRecSet, 2) 
	Else
		intLastPost = intFirstPost + (intPostsPerPage - 1)
		strNext = True
	End If

	'// Skriv ut posterna
	For i = intFirstPost To intLastPost
		strName = arrRecSet(0,i)
		[B][B]Response.Write "<a href='present_m.asp?miljo="&arrRecSet(0,i)&"'><img src='bild1/miljo/small_"&arrRecSet(1,i)&"' alt='' height='100' width='100' border='0'><br>	"& strName &"</a><br>[/B][/B]"& vbcrlf
	Next
	Response.Write vbcrlf &"</td>"& vbcrlf &"</tr>"& vbcrlf &"<tr>"& vbcrlf &"<td>"& vbcrlf

	'// Navigering, välj själv knappar eller text
	Call buttonNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)
	'Call textNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)

'// Fanns inga poster
Else
	Response.Write "Här var det tomt.. fyll på i databasen bums. =)"

End If
Medlem sedan juni 20019 519 inlägg
#27

Precis som du skriver
Jag gissar att du har det i en tabell?

	[b]Dim TimeToDoLinebreak[/b]
	For i = intFirstPost To intLastPost
[b]		TimeToDoLinebreak = TimeToDoLinebreak + 1[/b]
		strName = arrRecSet(0,i)	
		Response.Write "<a href=""present_m.asp?miljo="&arrRecSet(0,i)&"""><img src=""bild1/miljo/small_"&arrRecSet(1,i)&""" alt="""" height=""100"" width=""100"" border=""0""><br>	"& strName &"</a><br>"& vbcrlf
[b]		If TimeToDoLinebreak = 6 Then
			Response.Write "</td></tr><td>" ' Vad du vill att den skall göra när den träffar var 6:e post
			TimeToDoLinebreak = 0
		End If[/b]
	Next
Medlem sedan maj 2001420 inlägg
#28

Jättebra - funkade utmärkt!
Tack så mycket!

134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)