thinkPHP5 後端之分頁

2021-08-27 03:25:56 字數 1898 閱讀 5285

這是使用者列表分頁方法,在控制器裡寫

#獲取引數

$data = self::$config;

#判斷是否有輸入當前頁和每頁條數,否則預設值

$curr = isset($data['curr'])?$data['curr']:1;

$limits = isset($data['limits'])?$data['limits']:10;

#判斷是否有關鍵字、職位、啟用狀態的篩選或搜尋

$keyword = isset($data['keyword'])?$data['keyword']:'';

$roleid = isset($data['roleid'])?$data['roleid']:'';

$status = isset($data['status'])?$data['status']:'';

#搜尋條件

$where = 'del=1';

$where .= $keyword?' and concat(username,realname) like "%'.$keyword.'%"':'';#賬號和真實姓名搜尋

$where .= $roleid?' and roleid='.$roleid:''; #職位篩選

$where .= $status?' and status='.$status:''; #啟用狀態篩選

#分頁$total = db::name('member')->where($where)->count();#獲取總條數

$pages = ceil($total/$limits);#頁數必須是整數

if($curr > $pages)

#返回列表字段

$field = 'id,username,realname,roleid,departmentid,status,email,phone';

$list = db::name('member')->field($field)->where($where)->page($curr,$limits)->select();

#結果$result = [

'list' => $list, #每頁內容

'total' => $total, #總條數

'curr' => $curr, #當前頁

'limits' => $limits, #每頁顯示數量

'pages' => $pages #總頁數

];return ['code'=>200,'msg'=>config('msg.200'),'data'=>$result];

最後,返回的陣列如「結果」所示

知識點補充:

1.intval()函式,用於獲取變數的整數值,如當前頁和每頁條數,應該取整數值

2.trim()函式

移除字串兩邊的空白字元和其他預定義的字元

ltrim()函式,移除字串左邊的空白字元和其他預定義的字元

rtrim()函式,移除字串右邊的空白字元和其他預定義的字元

3.ceil()函式,向上捨入最近的整數,如2.1,2.9,最終輸出得 3

4.floor()函式,向下捨入最近的證書,如2.1,2.9,最終輸出得 2

5.round()函式,對浮點數進行四捨五入

Thinkphp5實現前後端分離

大致步驟如下 解決跨域請求問題 改變輸出資料格式為api常用返回json格式 自定義異常處理 修改適配api使用 開始強制路由 解決跨域問題 應用行為擴充套件定義檔案 return 應用初始化 應用開始 模組初始化 module init 操作開始執行 action begin 檢視內容過濾 vie...

修改 ThinkPHP5 分頁功能

1 目標效果 每頁 3 條資料 page admin render return this fetch data admin page page 4 修改框架原始碼 依次找到thinkphp library tink paginator driver bootstrap.php。新增首頁按鈕方法 首...

thinkphp5自定義分頁樣式

1.在extend 目錄下建立page目錄,在page目錄中建立page.php檔案,將以下 放入檔案中 namespace page usethink paginator class page extends paginator else protected function prev else ...