ThinkPHP 怎么结合Bootstrap进行分页

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP 怎么结合Bootstrap进行分页相关的知识,希望对你有一定的参考价值。

参考技术A

这个问题最好去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;
    

?>


以上是关于ThinkPHP 怎么结合Bootstrap进行分页的主要内容,如果未能解决你的问题,请参考以下文章

一例基于thinkphp,jquery和bootstrap渲染的查询数据分页器

thinkphp 3.1 这个查询怎么进行分页

基于ThinkPHP5和Bootstrap的极速后台开发框架FastAdmin

ThinkPHP5如何对数组进行分页

bootstrap导出excel功能怎么用

thinkPHP5.1 版本的怎么不能结合 workerman 了