【发布时间】:2018-10-05 12:08:00
【问题描述】:
我最近才意识到,我认为万无一失的分页方法毕竟不是那么万无一失。我所说的万无一失的意思是分页或其结果满足以下两个条件:
- 最新帖子必须始终显示在索引页面上
- 每个帖子必须始终显示在同一页面上,以便将来可以访问
在我开始创建分页功能之前,我意识到如果我将index.php 视为page 1 并不断地向其附加新内容的页面,这将不会对用户非常友好。谁愿意在每次访问您的网站时看到相同的page 1 和相同的内容?任何人都不应该在每次访问您的网站时手动导航到新内容。
我对上述问题的解决方案是始终将index.php 视为最后一页。我曾认为这已经完全解决了问题,但我显然没有考虑清楚。尽管这种方法更好,因为最新的内容和最新的页面总是反映在 index.php 上,但我昨晚躺在床上时意识到,如果我总是将 index.php 填充到它的最大容量,比如 10 个帖子,那么剩余的帖子 ($postCount % 10) 将始终显示在 page 1 上,因此所有帖子仍将不断地来回移动 9 个位置。例如,如果只有 10 个帖子,所有帖子都会显示在 page 1,但一旦有人提交第 11 个帖子,所有帖子,但最旧或第 1 个帖子将显示在 page 2;此外,如果再发布 9 个帖子,最新的 10 个将显示在 page 2,最旧的 10 个将显示在 page 1 as expected; but, again, as soon as somebody publishes the 21st post, then the newest 10 would show up onpage 3, the next newest 10 would show up onpage 2, and the oldest post would obviously show up onpage 1`。
一个明显的“解决方案”或“修复”这个问题是不完全填充index.php 10 个帖子,而是在index.php 上显示剩余部分。但出于我希望是显而易见的原因,我不想这样做。
以前有没有人经历过并处理过这个问题? 如何设计架构,使index.php 始终是具有最新内容的最新页面,而帖子始终可以在同一页面上找到,而完全不移动?
任何帮助或见解将不胜感激!!!
【问题讨论】:
标签: php architecture pagination