ThinkPHP 怎么结合Bootstrap进行分页

2025-02-23 01:56:09
推荐回答(1个)
回答1:

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

我是这样做的。

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

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

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

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

/**
*分页 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.="
  • url.'/'.$this->parameter.'/'.($this->p-1)."'>".上一页."
  • ";
            }
            if($activePP>0){
                $pgStr.="
  • url.'/'.$this->parameter.'/'.($this->p-$this->rollPage)."'>".上.$this->rollPage.页."
  • ";
            }
            //具体分页编码
            if($activePP<$pp && $activePP>=0){
                for ($i=$activePP*$this->rollPage; $i <($activePP+1)*$this->rollPage; $i++) { 
                    if($i==($this->p-1)){
                        $pgStr.="".($i+1)."";
                    }else{
                        $pgStr.="
  • url.'/'.$this->parameter.'/'.($i+1)."'>".($i+1)."
  • ";
                    }
                }
            }else{
                for ($i=$activePP*$this->rollPage; $i <$this->pageNum; $i++) { 
                    if($i==($this->p-1)){
                        $pgStr.="".($i+1)."";
                    }else{
                        $pgStr.="
  • url.'/'.$this->parameter.'/'.($i+1)."'>".($i+1)."
  • ";
                    }
                }
            }

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

            return $pgStr;
        }
    }
    ?>