PHP分页

1 2 3 4 5 6 … 10
1 … 3 4 5 6 7 … 10
1 … 4 5 6 7 8 … 10
1 … 5 6 7 8 9 10

1 … 8 9 10 11 12 13
1 … 7 8 9 10 11 … 13

显示页数 7 页
总数 N > 7
分两大种情况 { n=(N+1)/2 N-n+1~N
1. 只在一侧显示省略号 当我的当前页面在 第1/2/3/4页 最后4页 的时候
2. 两侧都显示省略号 当前页面在 第5/6/7/…/m (4

<div class="p_article">
    <div class="p_content ctx_width clearfix">
        <div class="tx_14 p_title pb15">
            <a href="javascript:history.go(-1)">
                <b class="i_ i_circle_l f_left"></b>
                <span class="ml10 tx_black">首页 > </span>
                <span class="tx_green"><?php $cateid = Yii::app()->request->getParam('cateid'); if($cateid == 1) {echo '信息中心';}else if($cateid == 2){echo '产品动态';} ?></span>
            </a>
        </div>
        <div class="list" style="min-height: 600px;">
            <ul>
            <?php  
                foreach ($list['list'] as $item) { ?>
                <li class="cur_pointer">
                    <a class="clearfix tx_black" href="blogdetail?id=<?php echo $item['id'] ?>">
                        <span class="mb10 dis_b tx_18 tx_black"><?php echo $item['title'] ?></span>
                        <span class="max_2_line tx_14 tx_gray_xm" style="color: #686868;"><?php echo $item['desc'] ?></span>
                        <span class="tx_12 dis_b mt10 tx_gray_xxl">发表时间: <?php echo $item['release_time'] ?></span>
                    </a>
                </li>
            <?php } ?>
            </ul>
        </div>
        <!-- 页码 -->
        <?php 
            $id = Yii::app()->request->getParam('cateid');
            $page = Yii::app()->request->getParam('page', 1);
            $pageSize = 5; //每页容量  默认5条
            $count = $list['page']['count']; // 文章总数
            $pagecount = $list['page']['total']; // 分页总数
            // 把$target = $page $len = $count 替换掉
            $target = $page;        //当前页
            $len = $count;          //文章总数
            $t = 7;             //最大页码数  当前设置为7
            $n = ($t + 1) / 2;  //临界值
            if($count > $pageSize) { 
                ?>
                <div class="w_pagination mb40 pr45">&emsp;共<?php echo $pagecount ?>页&emsp;<a class="<?php if($page == 1) {echo 'dis_none';};?>" href="<?php if($page == 1) {echo '';} else {echo 'bloglist?cateid='.$id.'&page='.($page - 1).'&pagesize=5';};?>" class="prev">&lt;</a>
                    <ul>
                    <?php 
                        // 当页码数大于设定的最大显示页数时 产生省略号...
                        if($pagecount > $t) { ?>
                            <?php if($target <= $n) { ?>
                                <li class="<?php if($target == 1) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=1&pagesize=5">1</a>
                                </li>
                                <li class="<?php if($target == 2) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=2&pagesize=5">2</a>
                                </li>
                                <li class="<?php if($target == 3) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=3&pagesize=5">3</a>
                                </li>
                                <li class="<?php if($target == 4) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=4&pagesize=5">4</a>
                                </li>
                                <li class="<?php if($target == 5) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=5&pagesize=5">5</a>
                                </li>
                                <li class="<?php if($target == 6) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=6&pagesize=5">6</a>
                                </li>
                                <li>...</li>
                                <li class="<?php if($target == $len) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len;?>&pagesize=5"><?php echo $len;?></a>
                                </li>
                            <?php 
                            } else if($target > $len - $n) {
                            ?>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=1&pagesize=5">1</a>
                                </li>
                                <li>...</li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len - 5;?>&pagesize=5"><?php echo $len - 5;?></a>
                                </li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len - 4;?>&pagesize=5"><?php echo $len - 4;?></a>
                                </li>
                                <li class="<?php if($target == $len -3) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len - 3;?>&pagesize=5"><?php echo $len - 3;?></a>
                                </li>
                                <li class="<?php if($target == $len - 2) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len - 2;?>&pagesize=5"><?php echo $len - 2;?></a>
                                </li>
                                <li class="<?php if($target == $len - 1) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len - 1;?>&pagesize=5"><?php echo $len - 1;?></a>
                                </li>
                                <li class="<?php if($target == $len) { echo 'active'; } ?>">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len;?>&pagesize=5"><?php echo $len;?></a>
                                </li>
                            <?php 
                            } else {
                            ?>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=1&pagesize=5">1</a>
                                </li>
                                <li>...</li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $target - 2; ?>&pagesize=5"><?php echo $target - 2;?></a>
                                </li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $target - 1; ?>&pagesize=5"><?php echo $target - 1;?></a>
                                </li>
                                <li  class="active">
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $target; ?>&pagesize=5"><?php echo $target;?></a>
                                </li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $target + 1; ?>&pagesize=5"><?php echo $target + 1;?></a>
                                </li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $target + 2; ?>&pagesize=5"><?php echo $target + 2;?></a>
                                </li>
                                <li>...</li>
                                <li>
                                    <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $len; ?>&pagesize=5"><?php echo $len;?></a>
                                </li>
                            <?php
                            }
                            ?> 
                        <?php
                        } else { 
                            for($i = 1; $i <= $pagecount; $i ++) {
                        ?>
                            <li class="<?php if($target == $i) { echo 'active'; } ?>">
                                <a href="bloglist?cateid=<?php echo $id; ?>&page=<?php echo $i; ?>&pagesize=5"><?php echo $i; ?></a>
                            </li>
                        <?php 
                        } 
                        }
                        ?>
                    </ul>
                    <a href="<?php if($page == $pagecount) {echo '';} else {echo 'bloglist?cateid='.$id.'&page='.($page + 1).'&pagesize=5';};?>">&gt;</a>&emsp;&emsp;
                    <form action="" class="dis_inb ml70">
                        转至<input id="page" class="num" type="text" value=""></form>
                    <button onclick="goPage()" class="e_btn e_btn_green sure" data-url="">确定</button>
                </div>
        <?php } ?>
        <!-- 页码 -->
    </div>
</div>
<script type="text/javascript">
    var span = $('.max_2_line');

    span.each(function(index, item) {
        if(item.innerHTML.charAt(161)) {
            var html = item.innerHTML.substring(0, 160) + '...';
            item.innerHTML = html;
        }
    });

    // 页面跳转确认
    function goPage() {
        var total = <?php echo $list['page']['count'];?>;
        var page = $('#page').val();
        var cateid = <?php echo Yii::app()->request->getParam('cateid');?>;
        var pagesize = <?php echo Yii::app()->request->getParam('pagesize');?>;

        if(0 < page <= total ) {
            var url = 'index/bloglist?cateid='+cateid+'&page='+page+'&pagesize='+pagesize;
            self.location = url;
        }else {
            alert('请输入0至'+total+'之间的数字');
        }
    }
</script>   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值