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


Posted in PHP onOctober 18, 2016

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

PHP 相关文章推荐
在同一窗体中使用PHP来处理多个提交任务
Oct 09 PHP
DISCUZ 论坛管理员密码忘记的解决方法
May 14 PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
php将字符串转化成date存入数据库的两种方式
Apr 28 PHP
ThinkPHP整合百度Ueditor图文教程
Oct 21 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
PHP快速生成各种信息提示框的方法
Feb 03 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
Mar 09 PHP
Yii遍历行下每列数据的方法
Oct 17 #PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
Oct 17 #PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 #PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 #PHP
详解PHP原生DOM对象操作XML的方法
Oct 17 #PHP
php排序算法实例分析
Oct 17 #PHP
基于thinkPHP框架实现留言板的方法
Oct 17 #PHP
You might like
php实现rc4加密算法代码
2012/04/25 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
php实现算术验证码功能
2018/12/05 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
JQuery开发的数独游戏代码
2010/10/29 Javascript
自己动手开发jQuery插件教程
2011/08/25 Javascript
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
JQuery的AJAX实现文件下载的小例子
2013/05/15 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
JQuery 在线引用及测试引用是否成功
2014/06/24 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
JavaScript实现99乘法表及隔行变色实例代码
2016/02/24 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
jquery操作select取值赋值与设置选中实例
2017/02/28 Javascript
js自定义瀑布流布局插件
2017/05/16 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
javascript中call,apply,bind的区别详解
2020/12/11 Javascript
Element el-button 按钮组件的使用详解
2021/02/01 Javascript
[53:52]EG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
[03:02]2020完美世界城市挑战赛(秋季赛)总决赛回顾
2021/03/11 DOTA
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
python函数的作用域及关键字详解
2019/08/20 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
Python读取ini配置文件传参的简单示例
2021/01/05 Python
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
学习方法演讲稿
2014/05/10 职场文书
投标承诺书怎么写
2014/05/24 职场文书
2016年党员干部廉政承诺书
2016/03/24 职场文书
maven依赖的version声明控制方式
2022/01/18 Java/Android