一、实验目的
1、掌握ThinkPHP5.0用户查询分页浏览功能。
二、实验内容
1、掌握ThinkPHP5.0用户查询分页浏览功能。
三、实验步骤及过程
在上一节分页浏览中,我们介绍了分页实现,但结合1.6节用户查询功能,分页就出现问题。我们将介绍如何解决查询功能。
1、查询分页浏览界面
用户登录后,进入(http://127.0.0.1/noneCms/public/index.php/weixin/index/index.html)主界面,单击微信管理->用户分页,则进入了微信用户信息管理界面,包括用户信息查询分页浏览、删除、增加、修改几个功能,如图所示。
2、关键代码解析
用户通过登录页面(http://127.0.0.1/noneCms/public/index.php/weixin/login/index)进入后台管理模块,(http://127.0.0.1/noneCms/public/index.php/weixin/index/index)为用户登录之后后台管理主页面。然后,用户单击“用户分页”,则进入用户管理界面,即(http://127.0.0.1/noneCms/public/index.php/weixin/usersMessages/index)。在该界面可以操作用户信息,包括查询分页浏览、添加、删除、修改等操作。
UsersMessages为用户管理控制模块,其文件为UsersMessages.php,即通过(http://127.0.0.1/noneCms/public/index.php/weixin/usersMessages/index)调用weixin模块的usersMessages控制器中的index方法进入用户浏览页面。
UsersMessages.php与Users.php文件相似,主要不同点就是查询分页,以下主要介绍分页功能的index()方法。UsersMessages.php是usersMessages控制器文件,其中index()方法显示用户管理分页浏览页面,代码如下:
public function index()
{
$id = input('param.id',0);
$userName = input('param.name','');
$enqName= input('param.enqName','');
$enqCategory= input('param.enqCon','');
$this->assign('name', 'name');
$pageParam = ['query' =>[]];
if($enqName != '') {
$pageParam['name'] = $userName;
$pageParam['enqName'] = $enqName;
$pageParam['enqCon'] = $enqCategory;
if($enqName == 'name'){
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('username','like','%'.$enqCategory.'%')->paginate(2,false,[
'type' => 'bootstrap',
'var_page' => 'page',
'query' => $pageParam,
]);
} else if($enqName == 'phone'){
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('phone','like','%'.$enqCategory.'%')->paginate(2,false,[
'type' => 'bootstrap',
'var_page' => 'page',
'query' => $pageParam,
]);
} else if($enqName == 'all'){
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->paginate(2,false,[
'type' => 'bootstrap',
'var_page' => 'page',
'query' => $pageParam,
]);
}
} else if($id > 0){
$pageParam['id'] = $id;
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('id','eq',$id)->where('islock','neq',3)->paginate(2,false,[
'type' => 'bootstrap',
'var_page' => 'page',
'query' => $pageParam,
]);
} else if($userName != '') {
$pageParam['name'] = $userName;
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('username','like','%'.$userName.'%')->where('islock','neq',3)->paginate(2,false,[
'type' => 'bootstrap',
'var_page' => 'page',
'query' => $pageParam,
]);
} else {
$list = Db::name('user')->field('username,logintime,id,loginip,email,islock,phone')->where('islock','eq',3)->paginate(2,false, $pageParam);
}
$this->assign('page',$list->render());
$this->assign('list', $list);
return $this->fetch();
}
四、技术服务
1、如果有疑问或者需要帮助,请加入QQ群(群名称:豆豆咨询,群号:625686304);或者公众号douAsk,公众号名称为“豆豆咨询”。扫描以下二维码,关注“豆豆咨询”。
技术QQ群名称:豆豆咨询,群号:625686304
微信公众号名称:豆豆咨询,微信公众号:douAsk
彩蛋号:1213。
网友评论