【问题标题】:Pages are a random mess页面是随机的混乱
【发布时间】:2013-07-06 04:49:10
【问题描述】:

我博客上的页面功能没有发挥作用。单击第二页时,它会跳到第三页。单击第一页时,将加载第二页。我在网上某处找到了这个功能;这不是我自己的。

function generate_pages($total,$current)
{
    if($total > 1)
    {
        $total=intval($total);

        $output='<div class="page"><b>Pages:</b>  ';
        $current_page= (false == isset($current)) ? 1 : $current;
        for($page=1;$page<$total+1;$page++)
        {
            $lower=$current_page-3;
            $upper=$current_page+3;
            $special = ($page==$current_page) ? " class=\"current\"" : "";
            if(($page > $lower && $page < $upper) || $page < 2 || $page > ($total-1))
            {
                if($last_done_page+1 != $page) $output.= '... ';
                $output.='<b>[<a'.$special.' href="?pg='.$page.'">'.$page.'</a>] </b>';
                $last_done_page=$page;
            }
        }
        $output.='</div><br/>';
        return $output;
    }
}

【问题讨论】:

  • 是的,那确实很糟糕......
  • 您是如何尝试修复它的,您是否调试过它?你为什么不写一个更好的函数而不是依赖互联网上的随机垃圾?
  • 我也不明白这个问题。 codepad.org/Py1YoVrm 代码可以正常工作。单击 1 将带您到 ?pg=1 如果这不是您想要的……那么……什么?也许您的页面是基于 0 的,所以单击 1 (pg=1) 意味着代码中其他位置的第 2 页?

标签: php pagination


【解决方案1】:

我认为这些更改会对您有所帮助:

function generate_pages($total,$current,$resultsPerPage)
{
    if($total > 1)
    {
        $total=intval($total/$resultsPerPage);

    if($total%$resultsPerPage>0)
    {
        $total=$total+1;
    }



        $output='<div class="page"><b>Pages:</b>  ';
        $current_page= (false == isset($current)) ? 1 : $current;
        for($page=1;$page<$total+1;$page++)
        {
            $lower=$current_page-3;
            $upper=$current_page+3;
            $special = ($page==$current_page) ? " class=\"current\"" : "";
            if(($page > $lower && $page < $upper) || $page < 2 || $page > ($total-1))
            {
                if($last_done_page+1 != $page) $output.= '... ';
                $output.='<b>[<a'.$special.' href="?pg='.$page.'">'.$page.'</a>] </b>';
                $last_done_page=$resultsPerPage;
            }
        }
        $output.='</div><br/>';
        return $output;
    }
}

我增加了一个额外的参数 $resultsperPage.......

【讨论】:

    猜你喜欢
    • 2019-05-15
    • 2014-10-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2016-09-04
    相关资源
    最近更新 更多