webForumDet fria alternativet

Begränsa utskrift av pageing...

ASP

9 svar · 343 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Har ett vanligt pageing-script som skriver ut 10 poster per sida. Navigeringen är enligt följande modell: (Prev |) 1 | 2 | 3 | 4 | osv. | Next. Nu har jag väldigt många poster och vill även kunna styra hur många "sidor" som ska skrivas ut. Alltså antalet 1 | 2 | osv. Tänkte att 10 i taget skulle vara bra. Hur ska jag göra?

Om man tex. är på sida 11 vill jag ha:

2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | Next

istället för:

1 | 2 | 3 | 4 | 5 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | osv. | Next

Ja, det e säkert nån som fattar...

If intTotalFilesFound > intRecordsPerPage Then
  Response.Write("<span class=""text1"">Results:_</span>")
    If intNumFilesShown > intRecordsPerPage Then
      Response.Write("<span class=""text1""><a href=""search.asp?search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & "&results=" & intFileNum - intRecordsPerPage & """>Prev</a>_|_</span>")
    End If
    If intTotalFilesFound > intRecordsPerPage Then 
      For intPageLinkLoopCounter = 1 to CInt((intTotalFilesFound / intRecordsPerPage) + 0.5)
        If intFileNum = (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage Then
	  Response.Write("<span class=""text1"">" & intPageLinkLoopCounter & "_|_</span>")
	Else
	  Response.Write("<span class=""text1""><a href=""search.asp?search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & "&results=" & (intPageLinkLoopCounter * intRecordsPerPage) - intRecordsPerPage & """>" & intPageLinkLoopCounter & "</a>_|_</span>")
	End If
      Next
    End If
    If intTotalFilesFound > intNumFilesShown Then
      Response.Write("<span class=""text1""><a href=""search.asp?search=" & Replace(strSearchWords, " ", "+") & "&mode=" & Request.QueryString("mode") & "&results=" & intNumFilesShown & """>Next</a><br><br></span>")
    Else
      Response.Write("<span class=""text1""><br><br></span>")
    End If
End If
Medlem sedan dec. 200012 464 inlägg
#2

Det är enklare om du visar koden som skriver ut sidnummer så det finns något gemensamt att utgå ifrån.

Medlem sedan maj 2002821 inlägg
#3

Ojdå, blev visst koden för pageingen till sökfunktionen. Men den är baserad på samma, spelar ingen roll.

Medlem sedan mars 20015 287 inlägg
#4

Ett PS, personligen tycker jag man ävenska ha en knapp till första o sista sidan i så fall.

Medlem sedan maj 2002821 inlägg
#5

Det var en bra idé. Släng in det i era förslag också.

Medlem sedan maj 2002821 inlägg
#6

Är det verkligen ingen som kan hjälpa till med det här?

Medlem sedan aug. 20012 349 inlägg
#7

Re: Begränsa utskrift av pageing...

jag visar bara i själva for loopen i princip, det var så jobbigt lång kod med utskriften...

iAntalpages = CInt((intTotalFilesFound / intRecordsPerPage) + 0.5)
      For intPageLinkLoopCounter = 1 to iAntalPages
if intPageLinkLoopCounter = 1 or (intPageLinkLoopCounter => CurrentPage-5 and intPageLinkLoopCounter <= CurrentPage+5) or intPageLinkLoopCounter = iAntalpages then
'skriv ut siffror
        End If
      Next

Tanken är att du tar och skriver ut sida nr 1, kolla om den sida du är på i loopen är inom intervallet den sida du är på plus minus 5 sidor (för att få 11 sidor) samt skriver ut sistasidan.

Det är inte så komplicerat.

Medlem sedan maj 2002821 inlägg
#8

Det som skrivs ut när jag provar din kod, mrblondie, är:

Pages: Prev | 1 | 2 | 3 | 4 | 5 | 16 | Next

... detta även om jag är på tex. sidan 5. Är man på sidan 5 borde det skrivas ut:

Pages: Prev | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | Next

Medlem sedan mars 20002 836 inlägg
#9

Detta var uppe för ett litet tag sedan;

http://www.webforum.nu/showthread.php?s=&postid=629551#post629551

kanske inte är exakt som du vill ha, men ngt liknande är det.

används på: http://1.gbok.com

cya,
PatrikB

Medlem sedan maj 2002821 inlägg
#10

Får kolla på den.

261 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)