webForumDet fria alternativet

skriv ut paging innan sql-query

ASP

6 svar · 285 visningar · startad av Gimbo

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

hejsan,

e helt borta i skallen just nu och skulle behova en small for att vakna, hur skall jag kunna skriva ut pagingen innan jag listar ut produkterna? skulle aven behova fa, next och last att funka?? och aven att da man befinner sig pa lat oss saga sidan 2, sa skall den lanken vara bold????

SQL ="..."
		    		rs.Open sql, Conn, 3, 3

		    		   intPage = Request.QueryString("page")
					If isNumeric(intPage) = False Or intPage < 1 Then
					   intPage = 1
					End If
		    		
		    		if NOT rs.eof then
		    		  rs.PageSize = 12 'Number of item in one page
  					  rs.AbsolutePage = intPage
					  intRecCount = rs.PageSize
					  intPageCount = rs.PageCount
					  intCounter = 0
		    		Do While Not rs.EOF And intRecCount > 0
		    		intRecCount = intRecCount - 1
		    		intCounter = intCounter + 1
%>

for att skriva ut pagingen:


					<%'Response.Write "<font size=1><br><br>You are at page <b>"&intPage&"</b> of "&intPageCount&"</font><br /><font size=2>Go To Page&nbsp;</font>"
			
					For intNum = 1 To intPageCount
					  Response.Write "|&nbsp;<a href=products.asp?rug="&Request.Querystring("rug")&"&product="&Request.Querystring("product")&"&page=" & intNum & ">" & intNum & "</a> "
					Next
					response.write"|"
					response.write "&nbsp;&nbsp;[next]&nbsp;"
					response.write "[last]"	
					%>

allt funkar fint, och kan skriva ut pagingen pa botten av sidan, men om jag skulle vilja skriva ut den i html koden over sql-queryn sa funkar det inte? samt att fa befintlig sida bold och next och last lanken att funka?
gar det aven att skriva ut, typ: Items found: 22 Showing 1 to 9 ?

det blev en massa fragor hoppas pa svar :D

Medlem sedan juli 2004206 inlägg
#2

Gör bara en funktion som ritar ut din paging-navigator, och ta tex aktuell sida som inparameter, samt totalt antal sidor som inparameter.

Jag ser ju att du både plockar vilken sida du befinner dig på (request) samt att du kan köra en count på antalet poster i din rs (lite rostig på ASP men det ska väl finnas en .count??)

sen är det ju bara att köra:

[request som hämtar in aktuell sida]
[kod som kollar antal rs]
...
[kod som anropar paging-navigatorn så att den ritas ut]
[kod som listar produkter]
[kod som anropar paging-navigatorn så att den ritas ut]
...

Medlem sedan dec. 20001 626 inlägg
#3

nagon som kan dela med sig av lite kod for detta? e helt fast

Medlem sedan juli 2004206 inlägg
#4

Här har jag modifierat din kod. Det var ca 2 år sedan jag skrev asp så det kan finnas något fel...

<%

	intPage = Request.QueryString("page")
	sProduct = request.QueryString("product")
	sRug = Request.Querystring("rug")

	If isNumeric(intPage) = False Or intPage < 1 Then
		intPage = 1
	End If

	rs.Open sql, Conn, 3, 3

	if NOT rs.eof then
		'Rita ut navigatorn första gången
		response.Write drawPaginNavigator(intPage, rs.count, sRug, sProduct)

		rs.PageSize = 12 'Number of item in one page
		rs.AbsolutePage = intPage
		intRecCount = rs.PageSize
		intPageCount = rs.PageCount
		intCounter = 0
		Do While Not rs.EOF And intRecCount > 0
			intRecCount = intRecCount - 1
			intCounter = intCounter + 1
			' Här kan du rita ut dina produkter
			' ......
			
		loop
		
		'Rita ut navigatorn andra gången
		response.Write drawPaginNavigator(intPage, rs.pagecount, sRug, sProduct)
	end if
%>

					<%
					function drawPagingNavigator(byval nCurrentPage as integer, byval nPageCount as integer, dim sRug as string, dim sProduct as string) as string
						dim sResult as string
						dim i as integer
						
						For i = 1 To nPageCount
							if i = nCurrentPage ' samma sida som vi är på?
								sResult += "| <a href=products.asp?rug=" & sRug & "&product=" & sProduct & "&page=" & i & ">" & i & "</a> "
							else
								sResult += "| <b>" & i & "</b> "
							end if
						Next
						sResult += "|"
						sResult +=  "  [next] "
						sResult +=  "[last]"	
						
						return sResult
					end function
					%>
Medlem sedan dec. 20001 626 inlägg
#5

tackar, gjorde om c-kodningen till asp :D men ha rlite problem med rs.pageCount, kan inte fa in den i funktionen, dvs kan inte fa in siffran for antalet siffror om jag vill skriva ut funktionen innan sql fragan.. och sa skriver den inte ut lankarna.

Medlem sedan juli 2004206 inlägg
#6

ditt pagecount har jag aldrig sett att det går att få ut på detta sättet.

Du skapar ju ett rs och kör open på det (med sql sats) och då har du väl tillgång till rs.count tror jag (som jag satte som inparameter till funktionen)

Medlem sedan juli 2004206 inlägg
#7

Ah, ok förstår vad du menar. Du måste bestämma dig hur många produkter du ska visa per sida och dela rs.count med detta tal när du anropar funktionen för pagenavigeringen

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