ThinkPHP 怎么结合Bootstrap进行分页

 我来答
春天黎明踏浪
2017-10-17 · 超过17用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:11.8万
展开全部

这个问题最好去thinkPHP官网问一下,

我是这样做的。

首先下载 ThinkPHP 的分页类,然后修改 分页类代码,使之返回的字符串符合Bootstrap分页布局格式,然后通过控制器将分页数据扔给模板就好了。当然不用改分页类,通过js前端修改dom也是没问题的。

额,不知道你有没有懂我的意思。算了,贴一段代码好了。我找找看

下面是一个tp的分页类(tp3.2版的。我已经修改过了,把这个放到ORG下,创建个Page类,然后在控制器类中创建分页实例,返回数据。)

额,算了。你先看吧,有问题再说

<?php 
/**
*分页 Page.class.php
**/
class Page{
    // 分页栏每页显示的页数
    public $rollPage = 6;

    // 页数跳转时要带的参数
    public $parameter   ;
    // 分页URL地址
    public $url     =   '';

    //需要分页的数据总数
    public $totalRows   ;
    //每页的数据显示数
    public $everyPageRow    ;
    //分页数
    protected $pageNum    ;
    //当前页数
    protected $p;

    //分页使用的字符串
    public $pageStr;
    

    //----------------------------------------
    // 分页总页面数
    

     /**
     * 构造函数
     * @access public
     * @param array $totalRows  总的记录数
     * @param array $listRows  每页显示记录数
     * @param array $parameter  分页跳转的参数
     */
    function __construct($count,$unit,$url='',$parameter='p')
    {
        $this->totalRows=$count;
        $this->everyPageRow=$unit;
        $this->url=$url;
        $this->parameter=$parameter;
        $this->pageNum=ceil($this->totalRows/$this->everyPageRow);

        $p=$_GET[$this->parameter];
        if( empty($p) || $p<=0 ){
            $p=1;
        }elseif($p>$this->pageNum){
            $p=$this->pageNum;
        }
        $this->p=$p;
    }
    public function show(){
        $pgStr='';
        $pp=intval($this->pageNum/$this->rollPage);
        $activePP=intval(($this->p-1)/$this->rollPage);

        if($this->p!=1){
            $pgStr.="<li><a  href='".$this->url.'/'.$this->parameter.'/'.($this->p-1)."'>".上一页."</a></li>";
        }
        if($activePP>0){
            $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($this->p-$this->rollPage)."'>".上.$this->rollPage.页."</a></li>";
        }
        //具体分页编码
        if($activePP<$pp && $activePP>=0){
            for ($i=$activePP*$this->rollPage; $i <($activePP+1)*$this->rollPage; $i++) { 
                if($i==($this->p-1)){
                    $pgStr.="<li class='active'><a href='javascript:;'>".($i+1)."</a></li>";
                }else{
                    $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($i+1)."'>".($i+1)."</a></li>";
                }
            }
        }else{
            for ($i=$activePP*$this->rollPage; $i <$this->pageNum; $i++) { 
                if($i==($this->p-1)){
                    $pgStr.="<li class='active'><a href='javascript:;'>".($i+1)."</a></li>";
                }else{
                    $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($i+1)."'>".($i+1)."</a></li>";
                }
            }
        }

        if($this->p!=$this->pageNum){
            $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($this->p+1)."'>".下一页."</a></li>";
        }
        if($activePP<$pp){
            $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($this->p+$this->rollPage)."'>".下.$this->rollPage.页."</a></li>";
        }
        if($activePP<$pp){
            $pgStr.="<li><a href='".$this->url.'/'.$this->parameter.'/'.($this->pageNum)."'>".最后一页."</a></li>";
        }

        return $pgStr;
    }
}
?>


已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式