使用$ variable ++的数学获取页码并计算起始编号

时间:2014-08-04 20:20:35

标签: php math logic increment

这是一个数学问题,而不是任何东西,但仍然相关。

所以,

我有一个基本的cms,每页显示4篇博文。页码在网址中,所以我可以得到它。

我试图在foreach循环中使用$ variable ++对结果进行编号,但是当加载新页面时,当然会重置为1。

第1页的示例:

$postNumber = 1;

foreach:
  echo "$postNumber";
  $postNumber++;
endforeach;

现在问题出现在第2页。

我需要想出一种方法来获取页码,然后创建下一组帖子号码。

所以所需的帖子号码/页码是:

Page Number / Post start number
1 / 1
2 / 5
3 / 9
4 / 13
5 / 17
6 / 21
7 / 25
etc

每个页码/帖子号码之间的差距每次增加3(0,3,6,9,12,15等)

数学不是我的优点,或者可能是因为它已经晚了......但是我无法找到一种方法来做到这一点。有意义吗?

3 个答案:

答案 0 :(得分:1)

您的帖子数量每页增加4个:

$postNumber = 1;
$pageNumber = 1;

foreach:
    echo $pageNumber, '/', $postNumber;
    $postNumber += 4;
    ++$pageNumber;
endforeach;

答案 1 :(得分:1)

感谢您的回复,朋友给出了答案:

  $postNumber = ($pageNumber * 4) - 3;

按计划运作。

“简单的第N个术语”......

答案 2 :(得分:0)

您可以使用LIMIT和一些基本数学来实现这一目标:

$current_page = $_GET['page']; // Or whatever   
$per_page = 4;
$start = $per_page * ($current_page - 1);

$query = 'SELECT * FROM posts LIMIT ' . $start . ',' . $per_page . ';';

这是指向更好地解释分页和MySQL的另一个答案的链接:MySQL Data - Best way to implement paging?