Yii2增删改查
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增删改查的更多相关文章
- yii2增删改查及AR的理解
yii2增删改查 // 返回 id 为 1 的客户 $customer = Customer::findOne(1); // 返回 id 为 1 且状态为 *active* 的客户 $customer ...
- yii2 增删改查
自己总结的yii2 advanced 版本的简单的增删改查,希望对大家有所帮助 1.gii生成的actionCreate()方法中 获取插入语句的id $id = $model->attribu ...
- 原生YII2 增删改查的一些操作(非ActiveRecord)
1.添加数据 如下,使用insert方法:t_admin_user为数据表名..其他的是属性.. $num = Yii::$app->db->createCommand()->ins ...
- yii2增删改查操作
https://www.yiichina.com/tutorial/996 https://www.yiichina.com/tutorial/834 一.新增 使用model::save()操作进行 ...
- [YII2] 增删改查2
一.新增 使用model::save()操作进行新增数据 $user= new User; $user->username =$username; $user->password =$pa ...
- Yii2.0高级框架数据库增删改查的一些操作(转)
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- Yii2.0高级框架数据库增删改查的一些操作
yii2.0框架是PHP开发的一个比较高效率的框架,集合了作者的大量心血,下面通过用户为例给大家详解yii2.0高级框架数据库增删改查的一些操作 --------------------------- ...
- YII2.0 数据库增删改查
/*==================== dkhBaseModel 数据库增删改查方法 start ================================*/ //新增一条数据 publ ...
- yii2.0增删改查实例讲解
yii2.0增删改查实例讲解一.创建数据库文件. 创建表 CREATE TABLE `resource` ( `id` int(10) NOT NULL AUTO_INCREMENT, `textur ...
随机推荐
- mvc项目用log4net 记录错误日志
1. 首先下载lognet 下载地址 http://logging.apache.org/log4net/download_log4net.cgi 2.找到bin文件中的net文件夹 之后看你电脑 ...
- JAVA中的System.in
System.in读取标准输入设备数据(从标准输入获取数据,一般是键盘),其数据类型为InputStream.方法: int read() // 返回输入数值的ASCII码,,该值为0到 255范 ...
- 关于java做题时需要注意的事项
1.要熟悉eclipse的使用 2.用java提交时只能有一个public class 且类名只能为Main 3.提交时不能提交包名 4.提交时要将引入的包一起提交 5.虽然java提供了很多的函数, ...
- Python模块hashlib
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制 ...
- 使用pageoffice进行多个文档的合并
提前给test模板文件中 手动插入一个书签,因为pageoffice必须有一个书签后,才能在后台进行书签的创建 //多个word文件进行合并 string strCopyFolder = System ...
- Python NLP完整项目实战教程(1)
一.前言 打算写一个系列的关于自然语言处理技术的文章<Python NLP完整项目实战>,本文算是系列文章的起始篇,为了能够有效集合实际应用场景,避免为了学习而学习,考虑结合一个具体的项目 ...
- [转]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(+)= ...
- 知识点:SQL中char、varchar、text区别
Char为定长,varchar,text为变长. 1.CHAR.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去1 ...
- MRO,C3算法
1了解python2和python3类的区别 python2在2.4之前使用的是经典类, 2.4之后, 使用的是新式类 class Foo: pass class Foo(object): pass ...
- BZOJ 2173 luoguo P4451 [国家集训队]整数的lqp拆分
整数的lqp拆分 [问题描述] lqp在为出题而烦恼,他完全没有头绪,好烦啊… 他首先想到了整数拆分.整数拆分是个很有趣的问题.给你一个正整数N,对于N的一个整数拆分就是满足任意m>0,a1 , ...