Går det på nåt vis att göra en check på nästa id i en databas när man använder sig av paging?
I dom flesta fallen gör nästan alla såhär
[i] Lite ihopklippt men ni förstår principen [/i]
IntPage = Request.QueryString("Page")
ObjRs.AbsolutePage = IntPage
intTotalPages = ObjRs.PageCount
Sen kolla man ifall det finns ett större ID
If IntPage > 1 then
Response.Write("<a href='index.asp?pageid=" & IntPage + 1 & "'>Nästa</a>")
Men denna plussar ju bara på "1" hela tiden tills man når slutet.
Tänk om databasen har följande ID'n
ID
1
2
8
15
Då kommer den ju hoppa till ID "2" sen till ID "3" som inte ens finns? Kan man inte göra nån check så den hoppar till "Nästa ID" i rangordning.
Så här skulle nog jag lösa det, även om det kanske inte är det optimala sättet:
strSQL = "SELECT * FROM tabell WHERE id = " & Request.QueryString("id")
Set objRS = objConn.Execute(strSQL)
'Lista ut
Set objRS = Nothing
strSQL = "SELECT TOP 1 id FROM tabell WHERE id > " & Request.QueryString("id") & " ORDER BY id"
Set objRS = objConn.Execute(strSQL)
If NOT objRS.EOF Then
Response.Write("<a href=""index.asp?pageid=" & objRS("id") & """>Nästa</a>")
End If
Set objRS = Nothing
Japp, sådär har jag också tänkt göra. Men det känns inte riktigt optimalt. Det måste ju kunna gå att stega till nästa ID eftersom man plockat ut Alla Posterna i selectsatsen.
Hittar jag ingen bättre lösning så får det nog bli sådär ändå!
Tack Sebbe