Yii针对添加行的增删改查操作示例

2018-09-07 21:38

阅读:247

  本文实例讲述了Yii针对添加行的增删改查操作。分享给大家供大家参考,具体如下:

  效果图:

  控制器:

   <?php namespace backend\controllers; use Yii; use yii\web\Controller; use backend\models\Zhan; class IndexController extends Controller { //显示页面 public function actionIndex() { $index=new Zhan(); //接受值 if($_POST) { $a=Yii::$app->db; //判断是否有删除ids if(Yii::$app->request->post(ids)) { $ids=Yii::$app->request->post(ids); $str=; for($i=0;$i<count($ids);$i++) { if($a->createCommand()->delete(zhan,[id=>$ids[$i]])->execute()) { $str++; } } if($str!=) { echo <script>alert(删除成功);location.href=index.php?r=index/index</script>; } } else { //判断是否有id传值 $cid=Yii::$app->request->post(cid); $xu_ids=Yii::$app->request->post(xu_id); //print_r($id);die; //添加行的数据 $names=Yii::$app->request->post(zhan_name); $ulrs=Yii::$app->request->post(url); //遍历数组 foreach($names as $k=>$v) { if(!empty($cid[$k])) { $c_id=$cid[$k]; //echo $c_id;die; $url=$ulrs[$k]; $xu_id=$xu_ids[$k]; $name=$v; $res=$a->createCommand()->update(zhan,[zhan_name=>$name,url=>$url,xu_id=>$xu_id],id=$c_id)->execute(); //数据可能没被修改,只有成功一条就改变标记的值 if($res) { echo <script>alert(修改成功);location.href=index.php?r=index/index</script>; } } else { $url=$ulrs[$k]; $xu_id=$xu_ids[$k]; $name=$v; $res=$a->createCommand()->insert(zhan,[xu_id=>$xu_id,zhan_name=>$name,url=>$url])->execute(); //数据可能没被修改,只有成功一条就改变v标记的值 if($res) { echo <script>alert(添加成功);location.href=index.php?r=index/index</script>; } } } } } else { //查询数据 $models=Zhan::find()->orderBy([xu_id=>asc])->asArray()->all(); //var_dump($models); return $this->renderPartial(show,[models=>$models]); } } } ?>

  视图层:

   <center> <form action=index.php?r=index/index method=post> <input name=_csrf type=hidden id=_csrf value=<?= Yii::$app->request->csrfToken ?>> <table> <tr> <td>ID</td> <td>显示顺序</td> <td>站点名称</td> <td>站点URL</td> </tr> <?php foreach ($models as $key => $v) {?> <tr> <input type=hidden name=cid[] value=<?php echo $v[id]; ?> /> <td><input type=checkbox name=ids[] class=ids value=<?= $v[id] ?>></td> <td><input type=text name=xu_id[] value=<?= $v[xu_id];?>></td> <td><input type=text name =zhan_name[]value=<?= $v[zhan_name];?>></td> <td><input type=text name=url[] value=<?= $v[url];?>></td> </tr> <?php }?> <tr> <td><a href=javascript:void(0) onclick=add(this);>+添加友情链接</a></td> <td><input type=checkbox onclick=jian(this);>删除?</td> </tr> <tr> <td><input type=submit value=提交 ></td> </tr> </table> </form> </center> <script src=style/jquery.js></script> <script> //添加一行 function add(ts) { var tr=$(ts).parent().parent(); var newtr=<tr><td></td><td><input type=text name=xu_id[]></td><td><input type=text name=zhan_name[]></td><td><input type=text name=url[]></td><td><input type=button value=删除该行 onclick=del(this);></td></td></tr><br />; tr.after(newtr); } //删除当前行 function del(ts) { $(ts).parent().parent().remove(); } //删除所有 function jian(ts) { var ids=$(.ids); //alert(ids.length); for(var i=0;i<ids.length;i++) { if(ts.checked==true) { ids[i].checked=true; } else { ids[i].checked=false; } } } </script> </head>

  更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

  希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。


评论


亲,登录后才可以留言!