很多人初学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();
}
}
?>