PHP博客分页难度(编制包含特定帖子的页数)

时间:2013-07-12 16:41:29

标签: php math pagination

我正在创建一个简单的PHP博客脚本,我需要弄清楚特定帖子将在哪个页面上,但无法自己解决如何做到这一点;我想这是一个数学问题,而不是严格的PHP问题。我在下面的函数中包含了一些可能有用的变量(它们的名称是描述性的),但我不知道我可以返回什么计算。例如,如果博客包含12个帖子(所以$ numberOfPosts === 12)和$ postsPerPage设置为5,第1页将包含帖子12-8(即最新的帖子),第2页将包含帖子7- 3,而第3页将包含帖子2& 1(在这种情况下变量$ postsOnLastPage将等于2,$ numberOfPages将等于3)。当然,我需要一个可以处理这些变量的函数,无论它们的值如何(当然,所有正整数都不一定都是正确的整数,只需要获得正确返回值所需的全部内容)。尽管如此,我真的希望有一些明亮的火花可以为我解决这个问题。

function whichPage($postNumber) {
    global $numberOfPages, $numberOfPosts, $postsPerPage, $postsOnLastPage;
    if ($postNumber > $numberOfPosts || $postNumber <= 0) return false;
    return ???????;
};

非常感谢。

2 个答案:

答案 0 :(得分:0)

return ceil($postnumber / $postPerPage)

答案 1 :(得分:0)

在这种情况下,你不会计算最后一页与其他页面。

$numberOfPage = ceil($numberOfPosts / $postPerPage) -1; //计算没有最后一页的页数。

$position = $numberOfPage - ceil($postnumber / $postPerPage); //这将为您提供从第二页开始计算的页面上的位置。

最后,您将测试帖子是否会在第一页中显示(位于[$numberOfPosts - $postsOnLastPage , $numberOfPosts]之间)。否则它将在$postion + 1上显示。