所以我在PHP这样做,但它是一个逻辑问题,所以我会尽力把它写成一般越好。分页问题[PHP]
要启动这里的这个分页脚本是如何工作的:
- 为(画前三页链接) 如果有#1的页面之间的页面
- 如果(平局省略号(...) (和#3的网页)
- 为(吸取当前页和每边两页它链接)
- 如果画省略号(...)如果有#3的页面和#5的页)
- 为(得出最后三个页面之间的页面链接)
的问题是,当有大量低页面(当页面数量为10时我注意到了)应该有一个省略号,但没有绘制。
走上代码:
$page_count = 10; //in actual code this is set properly
$current_page = 1; //in actual code this is set properly
for ($i = 1;$i <= 3;$i++)
{
if ($page_count >= $i)
echo $i;
}
if ($page_count > 3 && $current_page >= 7)
echo "...";
for ($i = $current_page - 2;$i <= current_page + 2;$i++)
{
if ($i > 3 && $i < $page_count - 2)
echo $i;
}
if ($page_count > 13 && $current_page < $page_count - 5)
echo "...";
for ($i = $page_count - 2;$i <= $page_count;$i++)
{
if ($page_count > 3)
echo $i;
}
所以我想最好的办法将是修改两个省略号的一个if语句,包括像这样的情况,不过我试过和很为难。
同时请注意,我这个凝结代码可读性的缘故,所以请不要给像“那些循环是无效的,因为他们将重新计算CURRENT_PAGE - 2每次迭代”的提示,因为我知道:)
对于那些谁希望看到的这个逻辑目前是如何工作的故障,这里是一个输出示例(修改)与迭代$ PAGE_COUNT和$ CURRENT_PAGE。 http://rafb.net/p/TNa56h71.html
这不是一个PHP的问题!请不要添加PHP标签,因为代码示例甚至没有用PHP编写! – 2008-11-21 06:32:17
您可能希望提供*工作*示例代码,以便自己测试您的逻辑的人员不必使用自己的语言重新实现您的'伪代码',以便他们可以测试它做任何事情。 – 2008-11-21 06:37:22