本文实例讲述了yii针对添加行的增删改查操作。分享给大家供大家参考,具体如下:
效果图:
控制器:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
<?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 ]);
}
}
}
?>
|
视图层:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<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框架的php程序设计有所帮助。