webForumDet fria alternativet

Pagingcheck

4 svar · 193 visningar · startad av SteveP

StevePMedlem sedan mars 2003772 inlägg
#1

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
#2

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
#3

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
#4

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
#5

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 ;)

126 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)