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. mvc项目用log4net 记录错误日志

    1.  首先下载lognet 下载地址 http://logging.apache.org/log4net/download_log4net.cgi 2.找到bin文件中的net文件夹  之后看你电脑 ...

  2. JAVA中的System.in

    System.in读取标准输入设备数据(从标准输入获取数据,一般是键盘),其数据类型为InputStream.方法: int read()   // 返回输入数值的ASCII码,,该值为0到 255范 ...

  3. 关于java做题时需要注意的事项

    1.要熟悉eclipse的使用 2.用java提交时只能有一个public class 且类名只能为Main 3.提交时不能提交包名 4.提交时要将引入的包一起提交 5.虽然java提供了很多的函数, ...

  4. Python模块hashlib

    Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...

  5. 使用pageoffice进行多个文档的合并

    提前给test模板文件中 手动插入一个书签,因为pageoffice必须有一个书签后,才能在后台进行书签的创建 //多个word文件进行合并 string strCopyFolder = System ...

  6. Python NLP完整项目实战教程(1)

    一.前言 打算写一个系列的关于自然语言处理技术的文章<Python NLP完整项目实战>,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目 ...

  7. [转]Oracle left join \ right join

    select 1 from a,b where a.id=b.id(+) 等同于 a left join b on a.id=b.id select 1 from a,b where a.id(+)= ...

  8. 知识点:SQL中char、varchar、text区别

    Char为定长,varchar,text为变长. 1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去1 ...

  9. MRO,C3算法

    1了解python2和python3类的区别 python2在2.4之前使用的是经典类, 2.4之后, 使用的是新式类 class Foo: pass class Foo(object): pass ...

  10. BZOJ 2173 luoguo P4451 [国家集训队]整数的lqp拆分

    整数的lqp拆分 [问题描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 , ...