这是一个数学问题,而不是任何东西,但仍然相关。
所以,
我有一个基本的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等)
数学不是我的优点,或者可能是因为它已经晚了......但是我无法找到一种方法来做到这一点。有意义吗?
答案 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?