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

本文实例讲述了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程序设计有所帮助。

以上是 Yii针对添加行的增删改查操作示例 的全部内容, 来源链接: utcz.com/z/320208.html

回到顶部