//1.模型
<?php
namespace backend\models;
use Yii;
use yii\db\ActiveRecord;
class Classify extends ActiveRecord{
public static function tableName(){
return 'classify';
}
public function rules(){
return [
['name','required','message'=>'分类名不能为空','on'=>['add','datail']],
['order','required','message'=>'排序不能为空','on'=>['add','datail']],
['status','required','message'=>'状态不能为空','on'=>['add','datail']]
];
}
public function attributeLabels(){
return [
'name'=>'分类',
'order'=>'排序',
'status'=>'状态'
];
}
public function add($data){
$this->scenario='add';
if($this->load($data) && $this->validate()){
$this['createtime']=time();
if($this->save()){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
public function detail($data){
$this->scenario='datail';
if($this->load($data) && $this->validate()){
$this['updatetime']=time();
if($this->save(false)){
return 1;
}else{
return 0;
}
}else{
return 0;
}
}
}
?>
//2.控制器
<?php
namespace backend\controllers;
use Yii;
use yii\web\Controller;
use yii\helpers\Url;
use backend\models\Classify;
class ClassifyController extends Controller{
public $layout='mains';
public function actionIndex(){
$model=Classify::find()->all();
return $this->render('index',[
'model'=>$model
]);
}
public function actionAdd(){
$model=new Classify();
if(Yii::$app->request->isPost){
$req=Yii::$app->request;
$post=$req->post();
$res=$model->add($post);
if($res){
Yii::$app->session->setFlash('success','添加成功');
return $this->redirect(['index']);
}else{
Yii::$app->session->setFlash('error','添加失败');
}
}else{
}
return $this->render('add',[
'model'=>$model
]);
}
public function actionDetail(){
$id=Yii::$app->request->get('id');
$model=Classify::find()->where(['id'=>$id])->one();
if(Yii::$app->request->isPost){
$req=Yii::$app->request;
$post=$req->post();
$res=$model->detail($post);
if($res){
Yii::$app->session->setFlash('success','修改成功');
return $this->redirect(['index']);
}else{
Yii::$app->session->setFlash('error','修改失败');
}
}
return $this->render('add',[
'model'=>$model
]);
}
public function actionStatus(){
$id=Yii::$app->request->get('id');
$model=Classify::find()->where(['id'=>$id])->one();
if($model){
$status=$model['status']==1?0:1;
$model->status=$status;
if($model->save()){
return \json_encode(['data'=>2,'res'=>'修改成功','state'=>$status]);
}else{
return \json_encode(['data'=>1,'res'=>'修改失败','state'=>0]);
}
}else{
return \json_encode(['data'=>0,'res'=>'修改失败','state'=>0]);
}
}
public function actionDel(){
$id=Yii::$app->request->get('id');
$model=Classify::find()->where(['id'=>$id])->one();
if(Classify::deleteAll(['id'=>$id])){
Yii::$app->session->setFlash('success','删除成功');
return $this->redirect(['index']);
}else{
Yii::$app->session->setFlash('error','删除失败');
}
}
}
?>
//3.添加视图和修改视图(添加和修改用的是一个视图add.php)
<?php
use yii\helpers\Url;
use yii\widgets\ActiveForm;
$model['status']=$model['status']==''?1:$model['status'];
?>
<div class="main" style="width: 1200px;margin: 0 auto;margin-top: 100px;">
<?
$form=ActiveForm::begin([
'fieldConfig'=>[
'template'=>'<div class="form-group">{label}{input}{error}</div>'
]
]);
?>
<?=$form->field($model,'id')->hiddenInput(['class'=>'form-control','id'=>'exampleInputEmail1'])->label(false)?>
<?=$form->field($model,'name')->textInput(['class'=>'form-control','id'=>'exampleInputEmail1'])?>
<?=$form->field($model,'order')->textInput(['class'=>'form-control','id'=>'exampleInputEmail2'])?>
<?=$form->field($model,'status')->radioList(['1'=>'正常','0'=>'禁止'])?>
<button type="submit" class="btn btn-default">提交</button>
<?php
ActiveForm::end();
?>
</div>
//4.数据展示
<?php
use yii\helpers\Html;
use yii\helpers\Url;
?>
<!-- <div class="alert alert-success" role="alert">
<div class="container" style="padding: 0;">
<a href="<?=Url::to(['add'])?>" class="alert-link">添加用户</a>
</div>
</div> -->
<div class="main" style="width: 1200px;margin: 0 auto;margin-top: 50px;">
<table class="table table-condensed">
<tr>
<th>分类名</th>
<th>状态</th>
<th>添加时间</th>
<th>修改时间</th>
<th>排序</th>
<th>操作</th>
</tr>
<?php
foreach($model as $key=>$val){
?>
<tr>
<td><?=$val['name']?></td>
<td id="fun<?=$val['id']?>" onclick="fun(<?=$val['id']?>)"><?=$val['status']==1?"<button type='button' class='btn btn-success'>正常</button>":"<button type='button' class='btn btn-danger'>禁止</button>"?></td>
<td><?=date('Y-m-d H:i:s',$val['createtime'])?></td>
<td><?=$val['updatetime']==''?'无':date('Y-m-d H:i:s',$val['updatetime'])?></td>
<td><?=$val['order']?></td>
<td>
<a href="<?=Url::to(['detail','id'=>$val['id']])?>" class="glyphicon glyphicon-pencil"></a>
<a href="<?=Url::to(['del','id'=>$val['id']])?>" class="glyphicon glyphicon-trash" style="margin-left: 20px;"></a>
</td>
</tr>
<?php
}
?>
</table>
</div>
<script>
function fun(id){
$.get("<?=Url::to(['status'])?>",{id:id},function(data){
dat=JSON.parse(data);
if(dat.data=='0'){
alert(dat.res);
}else if(dat.data==1){
alert(dat.res);
}else if(dat.data==2){
if(dat.state==1){
$('#fun'+id).html("<button type='button' class='btn btn-success'>正常</button>");
}else{
$('#fun'+id).html("<button type='button' class='btn btn-danger'>禁止</button>");
}
}
})
}
</script>
yii数据的增删改查
最新推荐文章于 2023-12-06 15:19:26 发布