我正在创建一个简单的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 ???????;
};
非常感谢。
答案 0 :(得分:0)
return ceil($postnumber / $postPerPage)
答案 1 :(得分:0)
在这种情况下,你不会计算最后一页与其他页面。
$numberOfPage = ceil($numberOfPosts / $postPerPage) -1;
//计算没有最后一页的页数。
$position = $numberOfPage - ceil($postnumber / $postPerPage);
//这将为您提供从第二页开始计算的页面上的位置。
最后,您将测试帖子是否会在第一页中显示(位于[$numberOfPosts - $postsOnLastPage
, $numberOfPosts]
之间)。否则它将在$postion + 1
上显示。