yii2.0增删改查实例讲解
yii2.0增删改查实例讲解
一.创建数据库文件.
创建表
CREATE TABLE `resource` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`texture` varchar(50) NOT NULL COMMENT '材质',
`mark` varchar(50) NOT NULL COMMENT '牌号',
`manufacturers` varchar(100) NOT NULL COMMENT '厂家',
`price` int(11) NOT NULL COMMENT '价格',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
INSERT INTO `resource` VALUES ('1', 'PP', '300H', '中沙石化', '8300');
INSERT INTO `resource` VALUES ('2', 'LDPE', 'LD605', '燕山石化', '9850');
INSERT INTO `resource` VALUES ('3', 'ABS', 'D-190 ', '镇江奇美', '11300');
INSERT INTO `resource` VALUES ('4', 'ABS', 'D-180 ', '镇江奇美', '11500');
INSERT INTO `resource` VALUES ('5', 'ABS', 'D-2400 ', '镇江奇美', '17600');
INSERT INTO `resource` VALUES ('6', 'YH', 'YH100', '测试', '199466');
INSERT INTO `resource` VALUES ('7', 'YH', 'YH200', '测试', '56256');
INSERT INTO `resource` VALUES ('8', 'QW', 'QW-21', '压紧', '19865');
INSERT INTO `resource` VALUES ('9', 'ZX', 'ZX-82', '水果', '98632');
INSERT INTO `resource` VALUES ('10', 'OP', 'OP98', '叶城', '38941');
二.定义控制器controller
namespace app\controllers; use Yii;
use yii\web\Controller;
use yii\data\Pagination;
use app\models\Resources; class ResourcesController extends Controller
{
/**
* 数据列表
*/
public function actionIndex($id = '')
{
$query = Resources::find();
$pages = new Pagination([
'defaultPageSize' => '4',
'totalCount' => $query->count(),
]); $model = $query->orderBy('id DESC')
->offset($pages->offset)
->limit($pages->limit)
->all(); return $this->render('index', [
'model' => $model,
'pages' => $pages,
'id' => $id,
]);
} /**
* 添加数据
*/
public function actionAdd($id = '')
{
if($id){
$model = Resources::findOne($id);
}else{
$model = new Resources();
}
if($model->load(Yii::$app->request->post()) && $model->validate()){
$model->save();
return $this->redirect(array('resources/index'));
}
return $this->render('add', [
'model' => $model,
'id' => $id,
]);
} /**
* 更新数据
*/
public function actionUpdate($id)
{
return $this->redirect(array('resources/add','id' => $id));
} /**
* 删除数据
*/
public function actionDelete($id)
{
Resources::findOne($id)->delete();
return $this->redirect(array('resources/index'));
}
}
三.定义model
namespace app\models; use Yii; /**
* This is the model class for table "resource".
*
* @property integer $id
* @property string $texture
* @property string $mark
* @property string $manufacturers
* @property integer $price
*/
class Resources extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'resource';
} /**
* @inheritdoc
*/
public function rules()
{
return [
[['texture', 'mark', 'manufacturers', 'price'], 'required'],
[['price'], 'integer'],
[['texture', 'mark'], 'string', 'max' => 50],
[['manufacturers'], 'string', 'max' => 100],
];
} /**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => "ID",
'texture' =>"材质",
'mark' => Yii::t('app', '牌号'),
'manufacturers' => Yii::t('app', '厂家'),
'price' => Yii::t('app', '价格'),
];
}
}
四.定义视图view
1.index.php
<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>资源列表</title>
<style type="text/css">
.list-head{margin-bottom:10px;overflow:hidden;}
.list-head strong{padding:6px 0;font-size:16px;} .list-table{width:100%;}
.list-table thead{font-weight:bold;}
.list-table td{line-height:30px;text-align:center;border:1px solid #eee;} .fl{float:left;}
.fr{float:right;}
</style>
</head>
<body>
<?= $id ?>
<div class="list-head">
<strong class="fl">资源列表</strong>
<a href="index.php?r=resources/add" class="btn btn-primary fr">添加</a>
</div>
<table class="list-table">
<thead>
<tr>
<td>ID</td>
<td>材质</td>
<td>牌号</td>
<td>厂家</td>
<td>价格</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<?php foreach($model as $resource): ?>
<tr>
<td><?= Html::encode($resource->id) ?></td>
<td><?= Html::encode($resource->texture) ?></td>
<td><?= Html::encode($resource->mark) ?></td>
<td><?= Html::encode($resource->manufacturers) ?></td>
<td><?= Html::encode($resource->price) ?></td>
<td>
<a href="index.php?r=resources/update&id=<?= Html::encode($resource->id) ?>">编辑</a>
<a href="index.php?r=resources/delete&id=<?= Html::encode($resource->id) ?>" onclick="if(confirm('确定删除该条数据?')==false)return false;">删除</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?= LinkPager::widget(['pagination' => $pages]) ?>
</body>
</html>
2.add.php
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?> <?php $form = ActiveForm::begin(); ?>
<?php if($id): ?>
<?= $form->field($model, 'id')->textInput(['value' => $id, 'disabled' => 'disabled']) ?>
<?php endif; ?>
<?= $form->field($model, 'texture') ?>
<?= $form->field($model, 'mark') ?>
<?= $form->field($model, 'manufacturers') ?>
<?= $form->field($model, 'price') ?>
<div class="form-group">
<?php if($id): ?>
<?= Html::submitButton('修改', ['class' => 'btn btn-primary']) ?>
<?php else:?>
<?= Html::submitButton('添加', ['class' => 'btn btn-primary']) ?>
<?php endif; ?>
</div>
<?php ActiveForm::end(); ?>
五.运行结果如下:
yii2.0增删改查实例讲解的更多相关文章
- yii2.0增删改查
//关闭csrf public $enableCsrfValidation = false; 1.sql语句 //查询 $db=\Yii::$app->db ->createCommand ...
- python链接oracle数据库以及数据库的增删改查实例
初次使用python链接oracle,所以想记录下我遇到的问题,便于向我这样初次尝试的朋友能够快速的配置好环境进入开发环节. 1.首先,python链接oracle数据库需要配置好环境. 我的相关环境 ...
- java:JSP(JSPWeb.xml的配置,动态和静态导入JSP文件,重定项和请求转发,使用JSP实现数据库的增删改查实例)
1.JSP的配置: <%@ page language="java" import="java.util.*" pageEncoding="UT ...
- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...
- MVC ---- EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
EF4.0和EF5.0增删改查的写法区别 public T AddEntity(T entity) { //EF4.0的写法 添加实体 //db.CreateObjectSet<T>(). ...
- python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)
python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...
- 【php增删改查实例】第四节 -自己 DIY 一个数据库管理工具
本节介绍如何自己DIY一个数据库管理工具,可以在页面输入sql 进行简单的增删改查操作. 首先,找到xampp的安装目录,打开htdocs: 新建一个php文件,名称为 mysqladmin.php ...
- YII2生成增删改查
下载完成后在basic/db.php配置数据库参数. 1.配置虚拟主机后进入YII入口文件 index.php 进行get传值 ?r=gii ,进入创建界面 2.点击 Model Generator下 ...
- 百度鹰眼Java接口调用增删改查实例
因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...
随机推荐
- ctcss
CTCSS解码器基于非常窄的带通滤波器,其通过所需的CTCSS音调.滤波器的输出经过放大和整流,只要存在所需的音调,就会产生直流电压.直流电压用于打开,启用或取消静音接收器的扬声器音频级.当音调存在时 ...
- statistic_action
方差variance 统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数.V 离差平方和(Sum of Squares of Deviations)是各项与平均项之差的平方的 ...
- spring4.1.8扩展实战之七:控制bean(BeanPostProcessor接口)
本章是<spring4.1.8扩展实战>的第七篇,我们来尝试在容器初始化的时候对bean实例做设置: 原文地址:https://blog.csdn.net/boling_cavalry/a ...
- Validform验证插件
http://validform.club/index.html
- HTML--JS 二级联动
<!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...
- EasyUI的时间控件禁止输入
<td class="right">制单日期:</td> <td class="left"> <input name ...
- dfs(最长路径)
http://poj.org/problem?id=1154 LETTERS Time Limit: 1000MS Memory Limit: 10000K Total Submissions: ...
- P5030 长脖子鹿放置
题目背景 众周所知,在西洋棋中,我们有城堡.骑士.皇后.主教和长脖子鹿. 题目描述 如图所示,西洋棋的"长脖子鹿",类似于中国象棋的马,但按照"目"字攻击,且没 ...
- POI之Excel文档增删改查
需要引用apache第三方lib库poi 支持xls.xlsx格式excel读写操作 package com.hua.excel; import java.io.File;import java.io ...
- .net core 简单集成JWT报No authenticationScheme was specified, and there was no DefaultChallengeScheme found错误
#region JWT 认证 services .AddAuthentication(JwtBearerDefaults.AuthenticationScheme) //.AddCustomAuth( ...