php自写一个分页算法

梦浪的小虾米
2018-11-29 / 1 评论 / 3,925 阅读 / 正在检测是否收录...

最终效果:

我的逻辑:去掉极值,然后处理几种特殊情况

大家看看逻辑就可以了,代码里面写的都是样式

$li = '';
        //极值处理,去掉极值
        if ($page_arr['pagenum'] > $page_arr['pagecount'] ) {
            $page_arr['pagenum'] = $page_arr['pagecount'];
        }elseif ($page_arr['pagenum'] < 1) {
            $page_arr['pagenum'] = 1;
        }

        //上一页
        if ($page_arr['pagenum'] > 1) {
            $pre_page = $page_arr['pagenum'] - 1;
            $li .= '<span><a class="button" href="/' . $method . '?page=' . $pre_page .'">上一页</a></span>';

            if ($page_arr['pagenum'] > 1+1) {
                $li .= '<span><a class="button" href="/' . $method . '?page=1">1</a></span>';
            }
            if ($page_arr['pagenum'] > 1+1+1) {
                $li .= '<span><a class="button" href="javascript:;">...</a></span>';
            }

            $li .= '<span><a class="button" href="/' . $method . '?page=' . $pre_page . '">' . $pre_page . '</a></span>';
        }

        //当前页
        $li .= '<span class="active"><a class="button" href="/' . $method . '?page='. $page_arr['pagenum'] .'">' . $page_arr['pagenum'] . '</a></span>';

        //下一页
        if ($page_arr['pagenum'] < $page_arr['pagecount']) {

            $pre_page = $page_arr['pagenum'] + 1;
            $li .= '<span><a class="button" href="/' . $method . '?page='. $pre_page .'">'. $pre_page .'</a></span>';
            if ($page_arr['pagenum'] < $page_arr['pagecount']-2) {
                $li .= '<span><a class="button" href="javascript:;">...</a></span>';
            }
            if ($page_arr['pagenum'] < $page_arr['pagecount']-1) {
                $li .= '<span><a class="button" href="/' . $method . '?page='. $page_arr['pagecount'] .'">' . $page_arr['pagecount'] . '</a></span>';
            }
            $li .= '<span><a class="button" href="/' . $method . '?page='. $pre_page .'">下一页</a></span>';
        }
        return $li;
0

评论 (1)

取消
  1. 头像
    qqq
    Android · Google Chrome

    《赤玉的俘虏》 作者:柚子
    《百科全书》 作者:新月
    《名流女仆》 作者:迷咒使者
    《催眠魔手》的第一章 作者:coly(柯利)
    《美丽的奴隶》 作者:催眠魔导师
    《阿强的后宫》 作者:迷咒使者
    《黄金屋内多风情》 作者:不详
    《理力者》 作者:闷骚大米虫
    《最华丽的复仇》 作者:奥丁
    《催眠传记》 作者:D.P.E
    《催眠传奇》作者:风雪漂漂
    《淫乱的宿舍》 作者:俗子
    《催眠网路》 作者:coly(柯利)
    《被催眠的少女小柔》 作者:guoweilian
    “催眠系列----干班花” 作者:俗子 无法考证其准确名字,能写出一篇文章的作者总不会给自己的作品起这么囧的名字吧……
    《昭圣者小米》 作者:柚子
    《女体改造计划》 作者:PS君
    《佳蓉学姊》 作者:柚子
    《甜蜜花香》 作者:柚子
    “柔水之非洲爱文”“花柔水之欧洲君雅”“花柔水之欧洲君雅”“花柔水之美洲嘉茜”都为“花柔水”系列《花柔水之一 非洲爱文》《花柔水之二 欧洲君雅》《花柔水之三 亚洲心丽》《花柔水之四 美洲嘉茜》 作者都是“无名”
    《现代妖术师》 作者:cat-of-dark
    《性爱催眠术》 作者:催眠魔导师
    《催眠之书》 作者:无法考证…
    《催眠学园》游戏脚本应该是布施はゐか,但译者:不详
    “一千零一夜之提姆的生活”应该是《提姆的生活》 作者:潇洒人生 是风月?陆2004年的“一千零一夜”的第一夜,是一篇翻译文,准确的说原文作者是Caesar,潇洒人生是译者
    《催眠奴隶》 作者:小小小
    《催眠调教》系列VOL1-VOL5 作者:催眠使者
    《快乐的家庭》 作者:唐门 是风月?陆2007年的“一千零一夜”的第三夜
    《戴亚思想控制指环》 作者:无法考证
    《世界的唯一Ⅰ 学园篇》 作者:coly(柯利)
    《玩具工厂》 作者:saigon
    《催眠事件簿》 作者:催眠使者
    《催眠新娘》 作者:不详
    《催眠游戏》的第一章“美丽女警邻居” 作者:一个喜欢催眠文章的人
    《催眠狂想曲-见工篇》 作者:Dio
    《佛洛依德照相馆》 作者:飞天淫猪
    《让公司变成个人卧房的计划》 作者:Itrham
    《魔书》 作者:无法考证
    《错乱奇谭》 作者:拙劣
    《改写射雕》 作者:魔月

    回复