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错误抑制符(@)导致引用传参失败Bug的分析
May 02 PHP
php学习之数据类型之间的转换代码
May 29 PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 PHP
用来解析.htpasswd文件的PHP类
Sep 05 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
php实现mysql封装类示例
May 07 PHP
php写的AES加密解密类分享
Jun 20 PHP
PHP中预定义的6种接口介绍
May 12 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
PHP检测数据类型的几种方法(总结)
Mar 04 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 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函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
详解PHP中的Traits
2015/07/29 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
PHP实现单条sql执行多个数据的insert语句方法
2019/10/11 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
如何实现动态删除javascript函数
2007/05/27 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
IE6下通过a标签点击切换图片的问题
2010/11/14 Javascript
jquery $(&quot;#variable&quot;) 循环改变variable的值示例
2014/02/23 Javascript
JavaScript两种跨域技术全面介绍
2014/04/16 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
详解Python中DOM方法的动态性
2015/04/11 Python
python3实现短网址和数字相互转换的方法
2015/04/28 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
pycharm + django跨域无提示的解决方法
2020/12/06 Python
微软巴西官方网站:Microsoft Brasil
2019/09/26 全球购物
Audible英国:有声读物,30天免费试用
2019/10/16 全球购物
高中军训感言400字
2014/02/24 职场文书
员工辞职信范文
2015/03/02 职场文书
党内外群众意见范文
2015/06/02 职场文书
从原生JavaScript到React深入理解
2022/07/23 Javascript
MySQL自定义函数及触发器
2022/08/05 MySQL