映月读书网 > 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 > 25.5.4 用户信息列表展示 >

25.5.4 用户信息列表展示

对于用户信息列表,将其作为表单在页面中按页显示出来。在本项目中,将用户按每页15条记录展示出来,并且按最后互动时间降序排列,相关代码如下。


 1 public function _initialize
 2 {
 3     // 初始化时检查用户登录状态
 4     if(!Session::has('username')){
 5         $this->redirect('login/index');
 6     }
 7 }
 8 
 9 public function index
10 {
11     // 查询用户数据,并且每页显示15条数据
12     $list = Db::name('user')->order('heartbeat desc')->paginate(15);
13 
14     // 把分页数据赋值给模板变量list
15     $this->assign('list', $list);
16     // 渲染模板输出
17     return $this->fetch;
18 }
  

模板文件中显示用户信息及分页的代码如下。


 1 <p>
 2     <ul>
 3         <a href="{:url('User/accesstoken')}">Access Token</a>
 4         <a href="{:url('User/updateList')}">更新列表</a>
 5         <a href="{:url('User/updateInfo')}">更新数据</a>
 6     </ul>
 7 
 8 </p>
 9 <p>
10     <table  cellspacing="0">
11         <thead>
12             <tr>
13             <th >ID</th>
14             <th >微信OpenID</th>
15             <th >昵称</th>
16             <th >性别</th>
17             <th >地区</th>
18             <th >来源</th>
19             <th >标签</th>
20             <th >头像</th>
21             <th >关注时间</th>
22             <th >积分</th>
23             <th >最后互动</th>
24             <th >操作</th>
25             </tr>
26         </thead>
27         <tbody>
28             {volist name="list" key="k"}
29             <tr>
30             <td >{$user.id}</td>
31             <td >{$user['openid']}</td>
32             <td >{$user['nickname']}</td>
33             <td >{$user['sex']}</td>
34             <td >{$user['country']}{$user['province']}{$user['city']}
               {$user['district']}</td>
35             <td >{$user['scene']}</td>
36             <td >{$user['tagid']}</td>
37             <td ><img src="{$user.headimgurl}"  height=
               "25px"></td>
38             <td >{if condition="$user['subscribe']==''"}{else/}
               {$user['subscribe']|date="Y-m-d H:i:s",###}{/if}</td>
39             <td >{$user['score']}</td>
40             <td >{if condition="$user['heartbeat']==''"}{else/}
               {$user['heartbeat']|date="Y-m-d H:i:s",###}{/if}</td>
41             <td >
42                <a href="javascript:confirm_delete('{:url('User/delete',array('id'=>
                  $user['id']))}')">删除</a>
43             </td>
44             </tr>
45             {/volist}
46         </tbody>
47     </table>
48     <p>{$list->render}</p>
49 </p>
  

本项目对ThinkPHP框架的分页功能进行了改造,增加了分页功能中的参数显示,最终的用户列表分页显示页面如图25-6所示。

图25-6 用户信息列表