如何使用开始索引,每页项目,总项目和总页数获取当前页面? (PHP)

时间:2013-01-30 21:16:28

标签: php pagination paginate

例如,让我们说:

$startIndex = 21; 
$totalItems = 100;
$itemsPerPage = 10;
$totalPages = ceil($totalItems / $itemsPerPage);  // (10)

$currentpage = //I am stumped here.

$ currentpage是什么,基于$ startIndex?

我正在进行分页,它正在踢我的屁股。我知道这可能是一些非常简单的数学,但我现在想不到。

4 个答案:

答案 0 :(得分:6)

每页10个项目,第1页包含项目1到10,第2页包含项目11到20,第3页包含21到30,依此类推。

所以,

$currentPage = ceil($startIndex / $itemsPerPage);

我使用ceil()来确保你有一个整数,这是一个整数,所以当前的页码是正确的。

答案 1 :(得分:5)

你在数学课上睡了很多,不是吗?

$currentpage = (($startIndex - 1) / $itemsPerPage) + 1;

答案 2 :(得分:1)

如果:

$startIndex = 21; 
$totalItems = 100;
$itemsPerPage = 10;
$totalPages = ($totalItems / $itemsPerPage);  // (10)

然后

$currentpage = $startIndex/$itemsPerPage; //Make sure that it uses integer division

答案 3 :(得分:0)

使用floor获取当前页面很重要

pagesTotal = int(ceil(count / limit))
pagesCurrent = int(floor(offset / limit) + 1)