本文实例讲述了thinkPHP5框架实现分页查询功能的方法。分享给大家供大家参考,具体如下:
controller文件内Admin.php
<?php
namespace app\admin\controller;
use think\Controller;
use app\admin\model\Admin as AdminModel; //使用分页类 取别名解决类名冲突
class Admin extends Controller{
public function lst(){
/* 分页开始 */
$list = AdminModel::paginate(3);
$this -> assign('list',$list);
/* 结束 */
return $this->fetch('lst');
}
public function add(){
//判断页面是否提交
if(request()->isPost()){
//打印接收到的参数
//dump(input('post.'));
$data = [ //接受传递的参数
'username' => input('username'),
'password' => md5(input('password')),
];
/*验证开始*/
$validate = \think\Loader::validate('Admin');
/* scene('add') 在add页面添加验证应用 */
if(!$validate -> scene('add')-> check($data)){
/* 验证失败打印 */
$this -> error($validate->getError());
die;
}
/*结束*/
/* Db('表名') 数据库助手函数*/
if(Db('admin') -> insert($data)){ //添加数据
return $this->success('添加成功','lst'); //成功后跳转 lst 界面
}else{
return $this->error('添加管理员失败');
}
return;
}
return $this->fetch('add');
}
}
model文件内Admin.php
<?php
namespace app\admin\model;
use think\Model;
class Admin extends Model{
}
lst.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>后台</title>
<style type="text/css">
*{
padding: 0;
margin: 0;
}
table{
width: 500px;
margin: auto;
}
.pagination li{
margin: 10px;
float: left;
list-style: none;
}
</style>
</head>
<body>
<div>我是lst</div>
<a href="{:url('admin/add')}" rel="external nofollow" >跳转add</a>
<table border="1" cellspacing="" cellpadding="">
<tr>
<th>ID</th>
<th>用户名</th>
<th>操作</th>
</tr>
<!-- 循环数据 -->
{volist name="list" id="vo"}
<tr>
<td>{$vo.id}</td>
<td>{$vo.username}</td>
<td>Data</td>
</tr>
{/volist}
</table>
<!-- 分页器 -->
{$list ->render()}
</body>
</html>
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!