我正在创建一个简单的PHP博客脚本,我需要找出特定帖子将在哪个页面上,但我自己不知道如何做到这一点;我认为这是一个数学问题,而不是一个严格意义上的PHP问题。我已经在下面的函数中包含了一些可能有用的变量(它们的名称是描述性的),但是我不知道我可以返回什么计算。例如,如果博客包含12篇文章(因此$numberOfPosts === 12),并且$postsPerPage设置为5,则第一页将包含文章12-8 (即最近的文章),第二页将包含文章7-3,而第三页将包含文章2&1(本例中的变量$postsOnLastPage将等于2,而$numberOfPages将等于3)。当然,我需要一个函数来处理这些变量,而不管它们的值是什么(当然,都是正整数,不一定是所有正整数,只是获得正确返回值所需的全部)。说了这么多,我真的希望一些闪亮的火花能够为我解决这个问题。
function whichPage($postNumber) {
global $numberOfPages, $numberOfPosts, $postsPerPage, $postsOnLastPage;
if ($postNumber > $numberOfPosts || $postNumber <= 0) return false;
return ???????;
};非常感谢。
发布于 2013-07-13 00:52:40
return ceil($postnumber / $postPerPage)
发布于 2013-07-13 01:08:35
在这种情况下,您不会将最后一页与其他页一起计算。
$numberOfPage = ceil($numberOfPosts / $postPerPage) -1; //统计没有最后一页的页数。
$position = $numberOfPage - ceil($postnumber / $postPerPage); //这将为您提供从第二页开始计算的页面位置。
最后,测试帖子是否会出现在第一页(在[$numberOfPosts - $postsOnLastPage , $numberOfPosts]之间)。否则它就会出现在$postion + 1上。
https://stackoverflow.com/questions/17619817
复制相似问题