本文主要和大家介绍了thinkphp5框架实现分页查询功能的方法,结合实例形式分析了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>
<p>我是lst</p>
<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>
以上就是thinkphp5框架的分页查询功能实现方法的详细内容。