douyue2313 2016-01-08 11:03
浏览 20
已采纳

如何在php中安排第一页和第二页?

I have this code:

<?php
function paginate($reload, $page, $tpages) {
    $adjacents = 2;
    $prevlabel = "&lsaquo; Prev";
    $nextlabel = "Next &rsaquo;";
    $out = "";
    if ($page == 1) { 
        $out.= "<span style=\"display:none;\">" . $prevlabel . "</span>
";
    } elseif ($page == 2) {
        $out.= "<li><a  href=\"" . $reload . "\">" . $prevlabel . "</a>
</li>";
    } else {
        $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page - 1) . "\">" . $prevlabel . "</a>
</li>";
    }

    $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
    $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
    for ($i = $pmin; $i <= $pmax; $i++) {
        if ($i == $page) {
            $out.= "<li><a href='' class=\"active\">" . $i . "</a></li>
";
        } elseif ($i == 1) {
            $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>
</li>";
        } else {
            $out.= "<li><a  href=\"" . $reload . "&amp;page=" . $i . "\">" . $i . "</a>
</li>";
        }
    }
    if ($page < $tpages) {
        $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page + 1) . "\">" . $nextlabel . "</a>
</li>";
    } else {
        $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>
";
    }
    $out.= "";
    return $out;
}
?>

How to when the first page , appears 5 points. For E.g, When I was at page 1 , then I would like this 1 2 3 4 5.. but if I change the "$ adjacents=2;" to 4. Indeed, when the 1 page there is a 1 2 3 4 5.. But when I moved to the page=7 , then , The page displayed 1 2 3 4 5 6 7 8 9 a lot of numbers, or when I moved to page=12. The page displayed 8 9 10 11 12 13 14 15 16.. Whereas , I Want to display 5 digits only.

How so that when the first and second page only, is made to appear 5 digit page ?And when I turn the page , eg page 12 like this. 10 11 12 13 14.

or when in page 1 to be like this 1 2 3 4 5

or when in page 2 to be like this 1 2 3 4 5

or when in page 3 to be like this 1 2 3 4 5.. etc

  • 写回答

1条回答 默认 最新

  • dsfdfd1211 2016-01-08 12:54
    关注

    You can copy paste this script

    <?php
    function paginate($reload, $page, $tpages) {
        $adjacents = 2;
        $prevlabel = "&lsaquo; Prev";
        $nextlabel = "Next &rsaquo;";
        $out = "";
        if ($page == 1) { 
            $out.= "<span style=\"display:none;\">" . $prevlabel . "</span>
    ";    $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
    
        $adjacents = 4;
    
    
        $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
        for ($i = $pmin; $i <= $pmax; $i++) {
            if ($i == $page) {
                $out.= "<li><a href='' class=\"active\">" . $i . "</a></li>
    ";
            } elseif ($i == 1) {
                $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>
    </li>";
            } else {
                $out.= "<li><a  href=\"" . $reload . "&amp;page=" . $i . "\">" . $i . "</a>
    </li>";
            }
        }
        if ($page < $tpages) {
            $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page + 1) . "\">" . $nextlabel . "</a>
    </li>";
        } else {
            $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>
    ";
        }
        $out.= "";
        return $out;
        } elseif ($page == 2) {
            $out.= "<li><a  href=\"" . $reload . "\">" . $prevlabel . "</a>
    </li>";
        $adjacents = 3;
        $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
        $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
        for ($i = $pmin; $i <= $pmax; $i++) {
            if ($i == $page) {
                $out.= "<li><a href='' class=\"active\">" . $i . "</a></li>
    ";
            } elseif ($i == 1) {
                $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>
    </li>";
            } else {
                $out.= "<li><a  href=\"" . $reload . "&amp;page=" . $i . "\">" . $i . "</a>
    </li>";
            }
        }
        if ($page < $tpages) {
            $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page + 1) . "\">" . $nextlabel . "</a>
    </li>";
        } else {
            $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>
    ";
        }
        $out.= "";
        return $out;
        } else {
            $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page - 1) . "\">" . $prevlabel . "</a>
    </li>";
    
        $pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
        $pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
        for ($i = $pmin; $i <= $pmax; $i++) {
            if ($i == $page) {
                $out.= "<li><a href='' class=\"active\">" . $i . "</a></li>
    ";
            } elseif ($i == 1) {
                $out.= "<li><a  href=\"" . $reload . "\">" . $i . "</a>
    </li>";
            } else {
                $out.= "<li><a  href=\"" . $reload . "&amp;page=" . $i . "\">" . $i . "</a>
    </li>";
            }
        }
        if ($page < $tpages) {
            $out.= "<li><a  href=\"" . $reload . "&amp;page=" . ($page + 1) . "\">" . $nextlabel . "</a>
    </li>";
        } else {
            $out.= "<span style='font-size:11px'>" . $nextlabel . "</span>
    ";
        }
        $out.= "";
        return $out;
        }
    }
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看