Controller

<?php

namespace frontend\controllers;

use frontend\models\User;
use yii\data\Pagination;

class UserController extends \yii\web\Controller
{
    //添加的表单页面展示
    public function actionIndex()
    {
        $model = new User();
        return $this->render('index',['model'=>$model]);
    }

    //实现入库
    public function actionCreate(){
        $model = new User();
        $model->status = 1;
        $model->create_time = time();
        if($model->load(\Yii::$app->request->post()) && $model->validate()){
            //密码加密
            $model->pwd = $model->setPassword(\Yii::$app->request->post('User[pwd]'));
            if($model->save()){
//                return '保存成功';
                return $this->redirect(['user/lists']);
            }else{
//                \Yii::$app->getSession()->setFlash('error', '保存失败');
                return '保存失败';
            }
        }else{
            return 2;
        }
    }

    //实现列表展示
    public function actionLists(){
        //创建一个DB来获取所有的用户
        $query = User::find();
        //得到用户的总数
        $count = $query->count();
        // 使用总数来创建一个分页对象
        $pagination = new Pagination(['totalCount' => $count,'pageSize' => '2']);
        //实现分页数据
        $users = $query->offset($pagination->offset)
            ->limit($pagination->limit)
            ->all();
        return $this->render('lists',['data'=>$users,'pagination' => $pagination]);
    }

    //根据id查询当个信息
    public function actionDefault(){
        $id = \Yii::$app->request->get("id");
        $data = User::findOne($id);
        return $this->render('default',['data'=>$data]);
    }

    //实现根据id进行修改
    public function actionUpd(){
        //接收参数
        $id = \Yii::$app->request->post("id");

        $model = User::findOne($id);
        if($model->load(\Yii::$app->request->post()) && $model->save()){
            return $this->redirect(['user/lists']);
        }else{
            return '修改失败';
        }
    }

    //实现删除
    public function actionDel(){
        $id = \Yii::$app->request->get("id");
        $model = User::findOne($id);
        if($model->delete()){
            $this->redirect(['user/lists']);
        }else{
            return '删除失败';
        }
    }

}

Model:

<?php

namespace frontend\models;

use Yii;

/**
 * This is the model class for table "user".
 *
 * @property int $id 自增id
 * @property string $username 用户名
 * @property string $pwd 密码
 * @property string $nickname
 * @property int $status
 * @property int $create_time
 */
class User extends \yii\db\ActiveRecord
{
    /**
     * {@inheritdoc}
     */
    public static function tableName()
    {
        return 'user';
    }

    /**
     * {@inheritdoc}
     */
    public function rules()
    {
        return [
            [['username', 'pwd', 'nickname', 'status', 'create_time'], 'required'],
            [['status', 'create_time'], 'integer'],
            [['username', 'nickname'], 'string', 'max' => 50],
            [['pwd'], 'string', 'max' => 255],
        ];
    }

    /**
     * {@inheritdoc}
     */
    public function attributeLabels()
    {
        return [
            'id' => '自增id',
            'username' => '账号',
            'pwd' => '密码',
            'nickname' => '昵称',
            'status' => '状态',
            'create_time' => '创建时间',
        ];
    }

    //密码加密
    public function setPassword($password){
        return Yii::$app->getSecurity()->generatePasswordHash($password);
    }
}

view文件夹下的default.php页面:

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\Url;
?>

<?php $form = ActiveForm::begin([
    'action'=>Url::to(['user/upd']),
    'method'=>'post'
]) ?>

<?= $form->field($data, 'username') ?>
<?= $form->field($data,'nickname') ?>
<?= $form->field($data,'status')->radioList([1=>'启用',2=>'禁用']) ?>
<?= Html::hiddenInput("id",$data->id) ?>

<?= Html::submitButton('修改', ['class' => 'btn btn-primary']) ?>

<?php ActiveForm::end() ?>

view文件夹下的index.php页面:

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\helpers\Url;
?>

<?php $form = ActiveForm::begin([
        'action'=>Url::to(['user/create']),
        'method'=>'post'
]) ?>

<?= $form->field($model, 'username') ?>
<?= $form->field($model, 'pwd')->passwordInput() ?>
<?= $form->field($model,'nickname') ?>

<?= Html::submitButton('添加', ['class' => 'btn btn-primary']) ?>

<?php ActiveForm::end() ?>

view文件夹下的lists.php页面:

<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
use yii\helpers\Url;
?>
<table border="1">
    <tr>
        <th>ID</th>
        <th>账号</th>
        <th>密码</th>
        <th>昵称</th>
        <th>状态</th>
        <th>创建时间</th>
        <th>操作</th>
    </tr>

    <?php foreach ($data as $k => $v): ?>
    <tr>
        <td><?= Html::encode($v['id']) ?></td>
        <td><?= Html::encode($v['username']) ?></td>
        <td><?= Html::encode($v['pwd']) ?></td>
        <td><?= Html::encode($v['nickname']) ?></td>
        <td><?= Html::encode($v['status']==1 ? '启用' : '禁用') ?></td>
        <td><?= Html::encode(date("Y-m-d H:i:s",$v['create_time'])) ?></td>
        <td>
            <a href="<?php echo Url::to(['user/default','id'=>$v['id']]) ?>">修改</a>
            <a href="<?php echo Url::to(['user/del','id'=>$v['id']]) ?>">删除</a>
        </td>
    </tr>
    <?php endforeach; ?>

</table>
<?= LinkPager::widget(['pagination' => $pagination]) ?>

数据库:

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `pwd` varchar(255) NOT NULL COMMENT '密码',
  `nickname` varchar(50) NOT NULL,
  `status` tinyint(4) NOT NULL,
  `create_time` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=58 DEFAULT CHARSET=utf8;

Yii2增删改查的更多相关文章

  1. yii2增删改查及AR的理解

    yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...

  2. yii2 增删改查

    自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...

  3. 原生YII2 增删改查的一些操作(非ActiveRecord)

    1.添加数据 如下,使用insert方法:t_admin_user为数据表名..其他的是属性.. $num = Yii::$app->db->createCommand()->ins ...

  4. yii2增删改查操作

    https://www.yiichina.com/tutorial/996 https://www.yiichina.com/tutorial/834 一.新增 使用model::save()操作进行 ...

  5. [YII2] 增删改查2

    一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...

  6. Yii2.0高级框架数据库增删改查的一些操作(转)

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  7. Yii2.0高级框架数据库增删改查的一些操作

    yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...

  8. YII2.0 数据库增删改查

    /*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...

  9. yii2.0增删改查实例讲解

    yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...

随机推荐

  1. 如果debug调试的时候中断总是停在析构函数的delete[] p上

    如果debug调试的时候中断总是停在析构函数的delete[] p上,那可能 有两种情况: 1.调用析构函数的这个对象没有被分配空间,先找到调用调用析构函数出错的这个对象, 然后查看它是否被分配了空间 ...

  2. 访问器 & 修改器

    访问器 model /** * 定义一个访问器 当 Eloquent 尝试获取 title 的值时,将会自动调用此访问器(查詢時自動調用) * @author jackie <2019.02.1 ...

  3. 1.2 VMware安装过程

    1.新建虚拟机后,选择[我以后再安装],否则安装过程看不到. 2.在虚拟机设置里,内存设置不能超过物理内存的一半. 3.创建硬盘 4.设置CD/ROM使用ISO镜像文件 5.创建[快照] 6.克隆虚拟 ...

  4. java工程师-面试知识点总结

    目录(转载) [x] 一.Java基础(语言.集合框架.OOP.设计模式等) [x] 二.Java高级(JavaEE.框架.服务器.工具等) [x] 三.多线程和并发 [x] 四.Java虚拟机 [x ...

  5. centos7.4 64位安装 google-chrome 与 chromedriver 运行 Python selenium 项目

    centos7.4 实例 利用 yum 命令安装 google-chrome 超级简单(安装最新版): yum install https://dl.google.com/linux/direct/g ...

  6. 6、 (★、※)root that results in a highest tree

    问题:对于一棵特定的树,选择合适的根结点,使得树的高度最大. 思路: 先选择一个结点,从该结点开始遍历整棵树,获取能达到的最深的顶点(记为结点集合A): 然后从集合A中任意一个结点出发遍历整棵树,获取 ...

  7. docker stats监控容器资源消耗

    在容器的使用过程中,如果能及时的掌握容器使用的系统资源,无论对开发还是运维工作都是非常有益的.幸运的是 docker 自己就提供了这样的命令:docker stats. 默认输出 docker sta ...

  8. CRM 2016 及 CRM 365 更新地址

    CRM2016安装程序下载地址: https://www.microsoft.com/zh-cn/download/details.aspx?id=50372 CRM 365 更新地址: https: ...

  9. Linux运维人员最常用166个命令汇总

    引用自“菜鸟博客” 命令 功能说明 线上查询.帮助命令(2个) man 查看命令帮助,命令词典,更复杂还有info,但不常用. help 查看Linux内置命令的帮助,比如cd等命令. 文件.目录操作 ...

  10. vi 常用 文本编辑 技巧

    归纳常用的Vi/Vim 文本编辑技巧,便于以后查阅. 一.把空格替换为换行 :% s/ /\r/g 二.把空行删除 :g/^$/d 三.vim以16进制打开和编辑文件 先用vim以二进制格式打开需要编 ...