很多人初學thinkphp時,不太熟悉thinkphp的分頁使用方法,現在將自己整理的分頁方法分享下,有需要的朋友可以看看。
控制器中的代碼:
$db = M("cost");
$where = "查詢條件";
$count = $db->where($where)->count();
$pagecount = 20;
$page = new ThinkPage($count , $pagecount);
$page->parameter = $row; //此處的row是數組,爲了傳遞查詢條件
$page->setConfig('first','首頁');
$page->setConfig('prev','上一頁');
$page->setConfig('next','下一頁');
$page->setConfig('last','尾頁');
$page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE%
%DOWN_PAGE% %END% 第 '.I('p',1).' 頁/共 %TOTAL_PAGE% 頁 (
'.$pagecount.' 條/頁 共 %TOTAL_ROW% 條)');
$show = $page->show();
$list = $db->where($where)->order('id
desc')->limit($page->firstRow.','.$page->listRows)->select();
$this->assign('list',$list);
$this->assign('page',$show);
$this->display();
模版中調用代碼:
<**div class="pagelist">{$page}<**/div**>
//博客中會過濾DIV標籤,請將上面一句話中的**去除,再使用
附帶分頁樣式:
.pagelist{ text-align:center; background:#f1f1f1; padding:7px
0;}
.pagelist a{ margin:0 5px; border:#6185a2 solid 1px;
display:inline-block; padding:2px 6px 1px; line-height:16px;
background:#fff; color:#6185a2;}
.pagelist span{ margin:0 5px; border:#6185a2 solid 1px;
display:inline-block; padding:2px 6px 1px; line-height:16px;
color:#6185a2; color:#fff; background:#6185a2;}
2.thinkPHP5.0 怎麼寫註冊登陸接口啊簡單登入接口
<?php
namespace appindexcontroller;
use thinkDb;
class User extends Base
{
public function login() {
if(request()->ispost()) {
if(request()->isAjax()) {
$formdata = request()->post();
if(isset($formdata['username']) && isset($formdata['password'])) {
$query = Db::name('users')->where(['username'=>$formdata['username']])->find();
if($query) {
if($query['password'] == md5($formdata['username'].$formdata['password'])) {
if($query['locked'] != 1) {
session('user_id',$query['uid']);//儲存登入會話
return json([
'status' => 1,
'message'=>; '登陸成功'
]);
} else {
return json([
'status' => -1,
'message'=>; '該帳號已被鎖定(禁用)',
]);
}
} else {
return json([
'status' => -1,
'message'=>; '用戶名或密碼錯誤',//密碼對不上
]);
}
} else {
return json([
'status' => -1,
'message'=>; '用戶名或密碼錯誤',//用戶名不存在
]);
}
} else {
return json([
'status' => -1,
'message'=>; '表單錯誤:缺少必要參數'
]);
}
} else {
return json([
'status' => -1,
'message' => 'Must use ajax.',
]);
}
} else {
//如果不是post請求,則顯示登入頁
return $this->fetch();
}
}
}
3.用thinkphp寫一個app登入的接口 麻煩哪位大神給個事例1、可以使用 REST模式 來開發 App 接口,首先建立一個公共控制器,再建其他控制器繼承它即可。
2、確定好返回的數據內容格式及資訊碼;
namespace ApiController;
use ThinkControllerRestController;
class AppController extends RestController {
// 自動加載的東西
function _initialize() { }
// 驗證 客戶端 token
protected function checkAppToken($apptoken){
// 引入 function.php 中定義的檢測 apptoken 的函數
if(checkingAppToken($apptoken)){
return true;
}else{
$data['code'] = '404';
$data['msg'] = 'apptoken無效';
$data['data'] = null;
$this ->response($data, 'json');
exit();
}
}
// 驗證 用戶 token
protected function checkUserToken($usertoken){
}
// 各種驗證 ……
}
?>
複製代碼
其他接口控制器繼承 AppController
namespace ApiController;
class ContentsController extends AppController {
// 自動加載驗證
function _initialize() {
parent::_initialize();
// 驗證 客戶端 token
$apptoken = I('post.apptoken');
parent::checkAppToken($apptoken);
// 驗證 用戶 token
$usertoken = I('post.usertoken');
parent::checkUserToken($usertoken);
// 各種需要驗證的驗證 ……
}
// 各種業務方法
public function index(){
// 返回數據
$this ->response($data, 'json');
exit();
}
}
?>