Har funderat nu på hur ni har med sidnavigeringen för att bara visa ex: ASP-sidan vet ju vilken sida den befinner sig på, så det är ju bara att utgå från det. I tips & tricks exempelvis använder jag [ 1 2 3 4 ] [ 2 3 4 5 ] osv. Det för att användaren skall kunna navigera sig bakåt också.Paging!
[2 3 4 5 6]
och när man klickar på 6 så kommer detta fram
[6 7 8 9 10]
Hoppas på svar!Sv: Paging!
Alltså, det ser väl förmodligen ut nåt sånt här:
1
2
..
7
Så när du ska skriva ut länkarna till övriga sidor kollar du på sida-variabeln och börjar där och sätter sedan ut nästa på sida+1, sida+2 osv, så långt lagret räcker.Sv: Paging!
Som svar på din fråga får du dels öppna ditt recordset med rst.Open - tekniken. Därefter vet du ju currentpage som du fått som inparameter - i detta fall pageid, och du vet också totalt antalet sidor. Med rst.Pagecount får du reda på hur många sidor totalt det finns så du inte visar för mycket.
Nedan får du ett exempel - som gör en array innehållande just [ 1 2 3 4 ] eller vad det blir för din aktuella sida.
Håll till godo
/Pelle
<%
rst.Open sql, con, 3, 3 , openType
rst.pagesize = maxrows ' sätter varje block till x records
pages = rst.pagecount ' hur många sidor får vi
pageid = request("pageid"): if pageid = "" then pageid = 1
if pages > 1 then
rst.absolutepage = pageid ' börjar på block page_id
' bygger navigeringsbar för flera sidor
' visar 2 sidor före och efter (specialare)..
DrawNavBar = "<b> "
for a = 1 to pages
if a > pageid - 3 then
if pageid + 3 > a then
if cInt(pageid) = cInt(a) then
' ingen länk
DrawNavBar = DrawNavbar & "<b><font color=#C0C0C0>" & a & "</b></font>" & " "
else
' länk
DrawNavBar = DrawNavbar & "" & a & " "
end if
end if
end if
next
DrawNavBar = DrawNavBar & "</b>"
DrawNavBar = "gå till sida [" & DrawNavBar & "]"
PageInfo = "Träffar: <b>" & rst.recordcount & "</b> Sida: (<b>" & pageid & "/" & pages & "</b>)"
else
PageInfo = "Träffar: <b>" & rst.recordcount & "</b>"
DrawNavbar = ""
end if
%>