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 相关文章推荐
MySQL GBK→UTF-8编码转换
May 24 PHP
PHP计算一年多少个星期和每周的开始和结束日期
Jul 01 PHP
php获取Google机器人访问足迹的方法
Apr 15 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
Yii扩展组件编写方法实例分析
Jun 29 PHP
smarty简单应用实例
Nov 03 PHP
WordPress用户登录框密码的隐藏与部分显示技巧
Dec 31 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
php、java、android、ios通用的3des方法(推荐)
Sep 09 PHP
php通过执行CutyCapt命令实现网页截图的方法
Sep 30 PHP
php 文件下载 出现下载文件内容乱码损坏的解决方法(推荐)
Nov 16 PHP
php数组指针函数功能及用法示例
Feb 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下关于Cannot use a scalar value as an array的解决办法
2010/08/08 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
PHP实现Huffman编码/解码的示例代码
2018/04/20 PHP
php两点地理坐标距离的计算方法
2018/12/29 PHP
通过MSXML2自动获取QQ个人头像及在线情况(给初学者)
2007/01/22 Javascript
做网页的一些技巧
2007/02/01 Javascript
javascript 最常用的10个自定义函数[推荐]
2009/12/26 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
Extjs根据条件设置表格某行背景色示例
2014/07/23 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
谈谈JavaScript中function多重理解
2015/08/28 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
jquery 动态增加,减少input表单的简单方法(必看)
2016/10/12 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
React通过父组件传递类名给子组件的实现方法
2017/11/13 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
小程序获取周围IBeacon设备的方法
2018/10/31 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
Node.js实现简单的爬取的示例代码
2019/06/25 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
2020/11/12 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
使用PDB模式调试Python程序介绍
2015/04/05 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Java如何格式化日期
2012/08/07 面试题
机电一体化专业应届生求职信
2013/11/27 职场文书
清洁工表扬信
2014/01/08 职场文书
最新茶叶店创业计划书
2014/01/14 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
社区安全温馨提示语
2015/07/14 职场文书