用户列表分页显示

original 2019-04-22 17:17:45 306
abstract:本章主要学习了循环标签及列表的分页显示,通过学习,实现了用户列表的分页显示,代码如下:app/index/controller/User.php<?php namespace app\index\controller; use app\model\User as UserModel; use think\Controller; use&n

本章主要学习了循环标签及列表的分页显示,通过学习,实现了用户列表的分页显示,代码如下:

app/index/controller/User.php

<?php

namespace app\index\controller;

use app\model\User as UserModel;
use think\Controller;
use think\Db;


class User extends Controller
{
    //显示用户信息
    public function disUser($uid)
    {
    
        //分页配置项
        $config=[
        'type'=>'bootstrap',
        'var_page'=>'page'
        ];
        
        //每页数量
        $num=3;
        
        //不要简单分页
        $simple=false;
        
        //获取所需要的分页数据
        $paginate= UserModel::paginate($num, $simple, $config);
        
        //分页变量
        $page = $paginate->render();
        
        $this->view->assign('users',$paginate);
        
        $this->view->assign('page',$page);
        
        return $this->view->fetch();
    }
}

app/view/user/dis_user.html

{load href="/static/css/bootstrap.min.css" /}

<div class="container">
    <div class="row">
        <h3 class="text-center">日本女明星记录表</h3>
        <div class="col-md-8 col-md-offset-2">
            <table class="table table-bordered table-hover text-center">
                <tr class="info">
                    <td>ID</td>
                    <td>姓名</td>
                    <td>胸围</td>
                    <td>身高</td>
                    <td>添加时间</td>
                </tr>
{volist name="users" id="user"}
<tr>
<td>{$user.uid}</td>
<td>{$user.name}</td>
<td>
{between name="user.weight" value="60,90"}
普通尺寸
{/between}
{between name="user.weight" value="91,100"}
较大
{/between}
{between name="user.weight" value="101,150"}
超大
{/between}
</td>
<td>{$user.height}</td>
<td>{$user.add_time|date="Y-m-d H:i:s"}</td>
</tr>
{/volist}
</table>
<div class="text-center">{$page|raw}</div>
</div>
</div>
</div>

app/model/user.php

<?php

namespace app\model;

use think\Model;
use think\model\concern\SoftDelete;

class User extends Model
{
    //引用软删除的trait方法集
    use SoftDelete;
    
    //表名
    protected $table='user';
    
    //主键
    protected $pk='uid';
    
    //设置删除时间字段,供软删除使用
    protected $deleteTime='delete_time';
    
    //设置软删除默认值
    protected $defaultSoftDelete=0;
    
    //region  获取器
    //获取性别
    protected  function  getSexAttr($value,$data)
    {
    $sex=[0=>'男',1=>'女'];
    return '我叫:'.$data['name'].',我是'.$sex[$value].'生';
    }
    
    //获取自定义属性
    protected  function  getMsgAttr($value,$data)
    {
    return '本女'.$data['name'].',胸围'.$data['weight'];
    }
    //#endregion
    
    //region 修改器
    //自动转换日期格式成时间戳
    protected function setAddTimeAttr($value)
    {
    return strtotime($value);
    }
    
    //胸围更改时自动加1
    protected function setWeightAttr($value,$data)
    {
    return $value+1;
    }
    //endregion
    
    //开启当前模型的自动时间戳功能
    protected $autoWriteTimestamp = true;
    
    //设置支持自动时间戳功能的字段名
    protected $createTime = 'create_time';
    protected $updateTime = 'modify_time';
    
    //类型转换
    protected $type=[
    'sex'=>'integer',
    'weight'=>'integer',
    'height'=>'integer',
    ];
    
    //自动完成
    protected $insert=['sex'=>1];
    protected $update=['sex'=>0];
    protected $auto=['height'=>'160'];
}

效果图:

QQ截图20190422171548.png

Correcting teacher:查无此人Correction time:2019-04-23 13:41:23
Teacher's summary:完成的不错。页面分页是tp框架里的,可以做成公用的,直接调用就可以了。继续加油。

Release Notes

Popular Entries