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