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. Javascript 蛤蟆可以吃队友,也可以吃对手 比较字符串

    Javascript 蛤蟆可以吃队友,也可以吃对手 比较字符串 function mutation(arr) { for(var i = 0; i < arr[1].length; i++) { ...

  2. oracle命令2

    使用DDL创建和管理表 DBA角色:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构,并且系统权限也需要DBA授出,且DBA用户可以操作全体用户的任意基表,包括删除 grant dba t ...

  3. 在C#中如何判断线程当前所处的状态

    在C#中,线程对象Thread使用ThreadState属性指示线程状态,它是带Flags特性的枚举类型对象.   ThreadState 为线程定义了一组所有可能的执行状态.一旦线程被创建,它就至少 ...

  4. SQL 查询当天,本月,本周的记录

    SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111)   ORDE ...

  5. 计算机信息系统安全保护等级划分准则(GB 17859-1999)

    概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: 第一级:用户自主保护级: 第二级:系统审计保护级: 第三级:安全标 ...

  6. jekins构建触发器详解-日程表的使用

    日程表参数解释如下: 第一个参数代表的是分钟 minute,取值 0~59: 第二个参数代表的是小时 hour,取值 0~23: 第三个参数代表的是天 day,取值 1~31: 第四个参数代表的是月 ...

  7. 1131(★、※)Subway Map

    思路:DFS遍历 #include <iostream> #include <map> #include <vector> #include <cstdio& ...

  8. Using a ScrollView - RN4

    使用滚动条. 1. import import {ScrollView} from "react-native"; 2. Using <ScrollView> ... ...

  9. weex Mac创建项目

    序言:本来在win 10 上创建项目真的很顺利!后来入手一个mac就从mac 上下载了最新的android studio开始搞起了weex,问题来了,weex-toolkit脚手架还是老的,我觉得是w ...

  10. 自然语言处理(NLP)入门学习资源清单

    Melanie Tosik目前就职于旅游搜索公司WayBlazer,她的工作内容是通过自然语言请求来生产个性化旅游推荐路线.回顾她的学习历程,她为期望入门自然语言处理的初学者列出了一份学习资源清单. ...