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

控制器:
<?phpnamespace backendcontrollers;use Yii;use yiiwebController;use backendmodelshan;class IndexController extends Controller{//显示页面public function actionIndex(){$index=new Zhan();//接受值 if($_POST) {$a=Yii::$app->db;//判断是否有删除idsif(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程序设计有所帮助。