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学习资料汇总与网址
Mar 16 PHP
php _autoload自动加载类与机制分析
Feb 10 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PDO预处理语句PDOStatement对象使用总结
Nov 20 PHP
PHP代码实现表单数据验证类
Jul 28 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
Jul 13 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
linux平台编译安装PHP7并安装Redis扩展与Swoole扩展实例教程
Sep 30 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
PHP实现的敏感词过滤方法示例
Mar 06 PHP
微信推送功能实现方式图文详解
Jul 12 PHP
Laravel-admin之修改操作日志的方法
Sep 30 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
url decode problem 解决方法
2011/12/26 PHP
PHP关键特性之命名空间实例详解
2017/05/06 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
Python中is与==判断的区别
2017/03/28 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Python用 KNN 进行验证码识别的实现方法
2018/02/06 Python
python射线法判断检测点是否位于区域外接矩形内
2019/06/28 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python pip 常用命令汇总
2020/10/19 Python
css3.0新属性效果在ie下的解决方案
2010/05/10 HTML / CSS
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
Kingsoft金山公司C/C++笔试题
2016/05/10 面试题
《秋游》教学反思
2014/04/24 职场文书
三字经教学反思
2014/04/26 职场文书
专家推荐信模板
2014/05/09 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
春节晚会开场白
2015/05/29 职场文书
会计主管竞聘书
2015/09/15 职场文书
2016师德师风学习心得体会
2016/01/12 职场文书
交通安全教育心得体会
2016/01/15 职场文书
《日月潭》教学反思
2016/02/20 职场文书
canvas实现贪食蛇的实践
2022/02/15 Javascript