我有一个星期一的真实案例。我正在尝试根据我正在寻找的条目遍历结果表。例如,页面一次显示15个结果,并且可以有n个结果。我无法通过逻辑来遍历这些页面。我想做这个: 如果输入不是1-15则转到第2页,如果不是16-30则转到第3页等。直到我到达该条目所在的页面。 另一个例子:我正在寻找的条目是300个条目中的64个,所以我需要到第5页查看条目。
我用15的倍数,模数等做了不同的事情,并且不能让它起作用。
任何帮助都会受到赞赏,再喝一杯咖啡......
答案 0 :(得分:7)
听起来像你想要的那样:
int pageNumber = ((resultNumber - 1) / pageSize) + 1;
(假设一个基于1的页码和结果编号。)
这会将结果1-15映射到第1页,将16-30映射到第2页,将第31-45页映射到第3页等。
答案 1 :(得分:0)
这样的事情:
Start offset = (Number of page - 1) * Results Per Page
End offset = (Number of page) * Results Per Page
Offset on a page = (Number of item) mod Results per page (Substract 1 to have zero-based index)
Page Number = (Number of item - 1) / Results Per Page + 1 ( Substract 1 to have zero-based index)