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下一个阿拉伯数字转中文数字的函数
Jul 16 PHP
PHP 得到根目录的 __FILE__ 常量
Jul 23 PHP
PHP输入流php://input介绍
Sep 18 PHP
php仿QQ验证码的实例分析
Jul 01 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php数组索引的Key加引号和不加引号的区别
Aug 19 PHP
php程序员应具有的7种能力小结
Nov 27 PHP
PHP中SESSION的注销与清除
Apr 16 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 PHP
php微信开发自定义菜单
Aug 27 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
PHP使用QR Code生成二维码实例
Jul 07 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文件扩展名判断及获取文件扩展名的N种方法
2015/09/12 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
一些常用的Javascript函数
2006/12/22 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
js动态往表格的td中添加图片并注册事件
2014/06/12 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
node.js中的fs.lstat方法使用说明
2014/12/16 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
vue cli构建的项目中请求代理与项目打包问题
2018/02/26 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
快速解决处理后台返回json数据格式的问题
2018/08/07 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
vue实现计算器功能
2020/02/22 Javascript
基于js判断浏览器是否支持webGL
2020/04/18 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
巧用Python装饰器 免去调用父类构造函数的麻烦
2012/05/18 Python
Python获取apk文件URL地址实例
2013/11/01 Python
Django读取Mysql数据并显示在前端的实例
2018/05/27 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Django MEDIA的配置及用法详解
2019/07/25 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
如何实现一个自定义类的序列化
2012/05/22 面试题
公务员年总结的自我评价
2013/10/25 职场文书
历史系毕业生自荐信
2013/10/28 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
环卫工人慰问信
2015/02/15 职场文书
超市员工管理制度
2015/08/06 职场文书
CSS 实现磨砂玻璃(毛玻璃)效果样式
2023/05/21 HTML / CSS