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 </font>"
For intNum = 1 To intPageCount
Response.Write "| <a href=products.asp?rug="&Request.Querystring("rug")&"&product="&Request.Querystring("product")&"&page=" & intNum & ">" & intNum & "</a> "
Next
response.write"|"
response.write " [next] "
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 ?
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]
...
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
%>
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.
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)
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