-2

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

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;
    }
}
4

1 回答 1

0

我认为这些更改将帮助您:

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.......

于 2012-11-17T02:37:00.320 回答