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 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)