dd

bootstrap分页函数

jerry thinkphp 2015年11月19日 收藏
bootstrap分页函数
#bug较多 请勿使用#
<?php

// 总页数, 一页多少个, 显示多少个分页, 当前页数
function boot_page($count, $item, $list, $p)
{
    // 最大页数
    $max = ceil($count / $item);

    if($max <= 1)
    {
        $page = "";
    }
    else
    {
        // 首页
        $page = '<li><a href="'.__ACTION__.'/p/1.html">«</a></li>';
        
        // 显示的第一个
        $start = $p - floor($list / 2);
        if($start <= 0)
        {
            $start = 1;
        }
        // 显示的最后一个
        $stop = $p + floor($list / 2);
        if($stop > $max)
        {
            $stop = $max;
        }
        
        for($i = $start; $i <= $stop; $i++)
        {
            if($i == $p)
            {
                // 选中当前页
                $page .= '<li class="active"><span>'.$i.'</span></li>';
            }
            else
            {
                $page .= '<li><a href="'.__ACTION__.'/p/'.$i.'.html">'.$i.'</a></li>';
            }
        }
        
        // 末页
        $page .= '<li><a href="'.__ACTION__.'/p/'.$max.'.html">»</a></li>';
    }

    return $page;
}
public function index($p = 1)
    {
        $db = M("shop");
        
        $data = $db->page($p, 10)->order("id desc")->select();
        $this->assign("data", $data);

        $page = boot_page($db->count(), 10, 5, $p);
        $this->assign("page", $page);
        
        $this->display();
    }
<div class="center-block">
        <ul class="pagination">
            {$page}
        </ul>
    </div>
dd