页面是乱七八糟的

时间:2012-11-17 01:59:44

标签: php pagination

我博客上的页面功能并未引起人们的注意。单击第二页时,它会向前跳到第三页。单击第一页时,第二页加载。我在网上找到了这个功能;这不是我自己的。

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

1 个答案:

答案 0 :(得分: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 .......