ThinkPHP 對數據庫的數據進行分頁

當我們用自己的模型來獲取數據,並且需要進行分頁的時候


在UserModel模型中設置數據庫以及查詢數據庫中數據的數量


protected $tableName='user';
    public function getAllUser($p){
        $result=$this->limit($p->firstRow, $p->listRows)->select();
        return $result;
    }



在Application/Common/common/function.php中添加個分頁方法,這個方法可以在不同模塊中調用


function getpage($db, $pagesize = 10) {
    $count= $db->count();
    $page = new Think\Page($count, $pagesize);
    $page->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>條記錄 第<b>%NOW_PAGE%</b>頁/共<b>%TOTAL_PAGE%</b>頁</li>');
    $page->setConfig('prev', '上一頁');
    $page->setConfig('next', '下一頁');
    $page->setConfig('last', '末頁');
    $page->setConfig('first', '首頁');
    $page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE% %END%%HEADER%');
    $page->lastSuffix = false;//最後一頁不顯示爲總頁數
    return $page;
}



在控制器中的方法中進行模型的實例化以及方法的調用

public function show() {
        $user =new \Home\Model\UserModel();
        $page=getpage($user);
        $list = $user->getAllUser($page);
        $this->assign('select', $list); // 賦值數據集
        $this->assign('page', $page->show()); // 賦值分頁輸出
        $this->display();
    }



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章