webForumDet fria alternativet

1 2 3 4 5 .... 10 11 12??

ASP

9 svar · 869 visningar · startad av znyder

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

Hej, undrar hur man gör ett sådant system?

Jag har ett forum där det finns en del sidor... :) Blir många siffror...

Så jag vill ha så det blir:

1 2 3 4 5 6 7 8 9 10 .... 30 31 32 33 34 o.s.v

Vet inte vad det kallas och kan tyvärr därför inte söka i forumet :(

Tacksam för hjälp

Medlem sedan juni 20019 519 inlägg
#2

paging sök så får du svar ;)

Medlem sedan sep. 2002928 inlägg
#3

Tror det är paging är ordet du är ute efter. Testa att sök efter det så lär du få en hel del svar :bire

Edit: Ack, voigtann1 var lite snabbare.

Medlem sedan dec. 2002172 inlägg
#4

Jo, jag har paging på forumet, men att det blir punkter mellan talen har jag inte.

Om det är 1 till 44 t.ex (det blir mer och mer sidor hela tiden) så vill jag inte att sidan ska vara full med siffror... så jag vill ha att det är kanske

1 2 3 4 5 6 7 8 9 10 ... 40 41 42 43 44

Så om man trycker på sidan 10 så blir det kanske:

10 11 12 13 14 15 16 17 18 19 20 ... 40 41 42 43 44

ja, tror ni förstår :)

Sorry om jag beskrev dåligt.

Medlem sedan juni 20019 519 inlägg
#5

Om du vet längden på din page size (antal sidor) så kolla längden på dina sidor(44) i ditt fall, så efter din loop är över 10 så skriver du ut ... och sen ta du fr 40-44 (dvs 4 sista... så din kod behöver egentligen bara om du har fler sidor än 16 sidor(räknar nog fel)

Medlem sedan dec. 2002172 inlägg
#6

Okej, rätt så n00b på asp på det viset.. hehe

Kallas det inte nått så man kan kolla något exempel? Eller om du vet något exempel kanske :)

Medlem sedan juni 20019 519 inlägg
#7

Jag kan säga att jag inte använder paging allt för ofta så jag har inte lagt ner mycket krut i det... ge lite kod så kan man se vad man kan fixa.

Medlem sedan juni 20019 519 inlägg
#8
' lPageSize - Get the RecordCount on how many pages we got in Total
' lFirstPageCount - How many pages do you want to display before we break the string
' lLastPageCount - How many pages we want to display after the break.
Function Paging(lPageSize, lFirstPageCount, lLastPageCount)
	dim sReturn
	For i = 1 to lpageSize
		If i = lpageSize Then
			sReturn = sReturn & i
		ElseIf i < lFirstPageCount Or (i > lpageSize-lLastPageCount) Then
			sReturn = sReturn & i & ", "
		ElseIf i = lFirstPageCount Then
			sReturn = sReturn & i & ", ... ,"
		End if
	Next
	Paging = sReturn
End Function

Response.Write Paging(30,5,2)

inte den bästa koden direkt men ;)

Medlem sedan dec. 2002172 inlägg
#9

funkar utmärkt! tack så extremt mycket. ska modifieras lite dock ;)

Medlem sedan juni 20019 519 inlägg
#10

tyvärr fungera den inte 100... då om vi säger att du har brytningen på sidan 8 och ta de två senaste och endast har 10 sidor så kommer den bete sig konstigt...

Function Paging(lPageSize, lFirstPageCount, lLastPageCount)
	dim sReturn
	For i = 1 to lpageSize
		If lPageSize > lFirstPageCount+lLastPageCount+1 Then
			If i = lpageSize Then
				sReturn = sReturn & i
			ElseIf (i < lFirstPageCount) Or (i > lpageSize-lLastPageCount) Or (lPageSize = lFirstPageCount+lLastPageCount) Then
				sReturn = sReturn & i & ", "
			ElseIf (i = lFirstPageCount) Then
				sReturn = sReturn & i & ", ... ,"
			End if
		Else
			If i = lpageSize Then sReturn = sReturn & i Else sReturn = sReturn & i & ", "
		End If
	Next
	Paging = sReturn
End Function

Kan särket skriva en bättre IF fråga på det hela men en snabb fix...

268 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)