I am working on a pagination feature in a web service I am writing, but my lack of math insight is killing me now.
I have a couple of keys: totalItems
, currentItems
, currentPage
, totalPages
, but also a couple of links to first
, last
, previous
and next
.
At this moment, I am doing the following calculations:
totalItems
: number of rows in the table
currentItems
: limit
parameter from HTTP request
currentPage
: start
parameter divided by limit
parameter
totalPages
: number of rows in the table divided by limit
. (Rounded up, 8.1 page = 9 pages)
I assume those calculations to be correct, what I am struggling with is the following:
first
: start
parameter is 1 with limit
from the HTTP request
last
: should be the first item of the last page, how do I calculate this correctly?
previous
: should be the first item of the previous page, how do I do this?
next
: should be the first item of the next page, how do I do this?
What I would like to ask, is: are my calculations correct? And how do I tackle the three problems with last
, previous
and next
?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…