首页 > 代码库 > yii2.0增删改查实例讲解
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
<?phpuse 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="http://www.mamicode.com/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="http://www.mamicode.com/index.php?r=resources/update&id=<?= Html::encode($resource->id) ?>">编辑</a> <a href="http://www.mamicode.com/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
<?phpuse 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增删改查实例讲解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。