這是使用者列表分頁方法,在控制器裡寫
#獲取引數
$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 ...