StevePMedlem sedan mars 2003772 inlägg 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.
SebbeMedlem sedan jan. 20032 285 inlägg 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
Hoppas att du fattar hur jag menar. :)
StevePMedlem sedan mars 2003772 inlägg 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
PatrikBMedlem sedan mars 20002 836 inlägg intPage är ju inte nästa "ID" i databasen. intPage är nästa "sida" i recordsetet vilket är något helt annat.
cya,
/PatrikB
StevePMedlem sedan mars 2003772 inlägg Jo jag kom på det :r
Tog mig dock ett tag. Ibland kan det va bra med en liten break så man får klarna i skallen ;)