PHP分页

来源:互联网 发布:知乎日本长寿 编辑:程序博客网 时间:2024/05/18 03:58

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>