V层
<?php ?> <center> <h4>个人日记</h4> <form id="form" action="?r=stud/drf_new" method="post"> <table class="table"> <input type="hidden" id="_csrf" name="_csrf" value="<?php echo yii::$app->request->csrfToken?>"/> <!-- <input type="hidden" id="_csrf" name="--><?php //echo Yii::$app->request->csrfParam;?><!--" value="--><?php //echo yii::$app->request->csrfToken?><!--">--> <tr> <td>题目</td> <td><input type="text" class="sub" name="subject" value="<?php if(isset($data)){ echo $data['subject'];} ?>"/></td> </tr> <tr> <td>内容</td> <td><textarea name="content" class="con" id="" cols="120" rows="10"><?php if(isset($data)){echo $data['content'];}?></textarea></td> </tr> <!-- <tr>--> <!-- <td>时间</td>--> <!-- <td><input type="text" name="time"/></td>--> <!-- </tr>--> <tr> <td></td> <td> <input type="submit" value="保存"/> <input type="reset" value="重置"/> </td> </tr> </table> </form> </center> <script src="jquery.1.12.js"></script> <script> function save_draft(){ var data=$('#form').serialize(); $.ajax({ 'url':'<?php echo \yii\helpers\Url::to(['stud/dra_new'])?>', 'type':'post', 'success':function(e){ alert(e) }, 'error':function(){}, 'data':data, 'dataType':'json', 'async':true, }); //setTimeout('save_draft()',5000); setInterval('save_draft()',5000); } $(function(){ save_draft(); }) </script> ---------------------------------------------- C层//新增日记自动保存到草稿表ajax public function actionDra_new(){ //接收用户id $l_id=yii::$app->session->get('l_id'); //接收数据 $res = yii::$app->request->post(); //var_dump($res);die; //自定义state值为1,默认为0 $state=1; //通过state字段查询草稿表 $datak=yii::$app->db->createCommand("select * from draftzk1 where state='$state'")->queryOne(); // var_dump($datak);die; //如果有值, if(!isset($datak['state'])){ //组装数组 $data=array( 'l_id'=>$l_id, 'subject'=>$res['subject'], 'content'=>$res['content'], 'state'=>$state, ); $db=yii::$app->db->createCommand()->insert('draftzk1',$data)->execute(); }else{ //组装数组 $data=array( 'l_id'=>$l_id, 'subject'=>$res['subject'], 'content'=>$res['content'], 'state'=>$state, ); $db=yii::$app->db->createCommand()->update('draftzk1',$data,'state='.$state)->execute(); } } //===================================================== //新增日记至日记表(form提交) public function actionDrf_new(){ //获取用户id $l_id=yii::$app->session->get('l_id'); //接收数据 $res = yii::$app->request->post(); //var_dump($res);die; //处理数据 $data=array( 'l_id'=>$l_id, 'subject'=>$res['subject'], 'content'=>$res['content'] ); //入库 $db=yii::$app->db->createCommand()->insert('diaryzk1',$data)->execute(); //删除草稿表的内容 $db=yii::$app->db->createCommand("delete from draftzk1 where state=1")->execute(); if($db){ $this->redirect(['stud/dia_list']); }else{ $this->redirect(['stud/diary']); } } //=================================================== 修改页面的自动保存 V层<?php ?> <center> <h4>编辑日记</h4> <form id="form" action="?r=stud/dia" method="post"> <table class="table"> <input type="hidden" name="d_id" value="<?php echo $change_one['d_id']?>"/> <input type="hidden" id="_csrf" name="_csrf" value="<?php echo yii::$app->request->csrfToken?>"/> <!-- <input type="hidden" id="_csrf" name="--><?php //echo Yii::$app->request->csrfParam;?><!--" value="--><?php //echo yii::$app->request->csrfToken?><!--">--> <tr> <td>题目</td> <td><input type="text" class="sub" name="subject" value="<?php echo $change_one['subject']?>"/></td> </tr> <tr> <td>内容</td> <td><textarea name="content" class="con" id="" cols="120" rows="10"><?php echo $change_one['content']?></textarea></td> </tr> <!-- <tr>--> <!-- <td>时间</td>--> <!-- <td><input type="text" name="time"/></td>--> <!-- </tr>--> <tr> <td></td> <td> <input type="submit" value="保存"/> <input type="reset" value="重置"/> </td> </tr> </table> </form> </center> <script src="jquery.1.12.js"></script> <script> function save_draft(){ var data=$('#form').serialize(); $.ajax({ 'url':'<?php echo \yii\helpers\Url::to(['stud/draft'])?>', 'type':'post', 'success':function(e){ alert(e) }, 'error':function(){ }, 'data':data, 'dataType':'json', 'async':true }); setInterval('save_draft()',5000); } $(function(){ save_draft(); }) </script>//=======================
C层/=============================================================== //编辑后添加日记(form提交) public function actionDia() { //获取用户id $l_id=yii::$app->session->get('l_id'); //接收数据 $res = yii::$app->request->post(); //var_dump($res);die; //处理数据 $data=array( 'l_id'=>$l_id, 'subject'=>$res['subject'], 'content'=>$res['content'] ); if(isset($res['d_id'])){ //如果日记表里存在id为d_id的数据 //执行修改 $db=yii::$app->db->createCommand()->update('diaryzk1',$data,'d_id='.$res['d_id'])->execute(); $d_id=$res['d_id']; //删除草稿表的内容 $db=yii::$app->db->createCommand("delete from draftzk1 where d_id='$d_id'")->execute(); }else{ //入库 $db=yii::$app->db->createCommand()->insert('diaryzk1',$data)->execute(); } if($db){ $this->redirect(['stud/dia_list']); }else{ $this->redirect(['stud/edit']); } } //------------------------------------------------------------------------------- //编辑日记 public function actionEdit() { //接收日记id $d_id=yii::$app->request->get('id'); //var_dump($d_id);die; //查询草稿表 $datak=yii::$app->db->createCommand("select dr_id,d_id from draftzk1 where d_id='$d_id'")->queryOne(); //判断日记id if(isset($d_id)&&$d_id==$d_id and isset($datak['d_id'])==$d_id){ //根据日记id查询草稿表数据 $change_one=yii::$app->db->createCommand("select * from draftzk1 where d_id='$d_id'")->queryOne(); }else{ //根据日记id查询数据 $change_one=yii::$app->db->createCommand("select * from diaryzk1 where d_id='$d_id'")->queryOne(); //var_dump($change_one);die; } return $this->render('edit',['change_one'=>$change_one]); } //=========================================================== //编辑日记添加至草稿ajax public function actionDraft(){ //接收ajax传来的数据 $res=yii::$app->request->post(); //var_dump($data);die; //接收用户id $l_id=yii::$app->session->get('l_id'); //接收文章id $d_id = $res['d_id']; //处理数据 $data=array( 'd_id'=>$res['d_id'], 'l_id'=>$l_id, 'subject'=>$res['subject'], 'content'=>$res['content'], ); //判断文章id ,先查询数据库中的文章id(问题判断空数据库 $datak=yii::$app->db->createCommand("select dr_id,d_id from draftzk1 where d_id='$d_id'")->queryOne(); //判断草稿表有没有数据(自增id) if(!isset($datak['dr_id'])) { //如果草稿表没有数据执行添加 $db=yii::$app->db->createCommand()->insert('draftzk1',$data)->execute(); } else { //如果草稿表有数据判断d_id(日记的id)与传的id是否相等 if($datak['d_id']==$d_id){ //对草稿表进行修改 $db=yii::$app->db->createCommand()->update('draftzk1',$data,'d_id='.$d_id)->execute(); } else { //否则进行添加 $db=yii::$app->db->createCommand()->insert('draftzk1',$data)->execute(); } } }