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 file_get_contents 函数超时的几种解决方法
Jul 30 PHP
php 生成唯一id的几种解决方法
Mar 08 PHP
ThinkPHP3.1数据CURD操作快速入门
Jun 19 PHP
PHP函数http_build_query使用详解
Aug 20 PHP
PHP中变量引用与变量销毁机制分析
Nov 15 PHP
PHP实现HTTP断点续传的方法
Jun 17 PHP
Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
Aug 01 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
php抽象方法和抽象类实例分析
Dec 07 PHP
php封装一个异常的处理类
Jun 08 PHP
PHP文件管理之实现网盘及压缩包的功能操作
Sep 20 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 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 自写函数代码 获取关键字 去超链接
2010/02/08 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP版微信小店接口开发实例
2016/11/12 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
PHP 实现文件压缩解压操作的方法
2019/06/14 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
js parsefloat parseint 转换函数
2010/01/21 Javascript
Json和Jsonp理论实例代码详解
2013/11/15 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
JavaScript实现多种排序算法
2016/02/24 Javascript
easyui-edatagrid.js实现回车键结束编辑功能的实例
2017/04/12 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置
2019/11/26 Javascript
JavaScript实现轮播图效果
2020/10/30 Javascript
jQuery实现tab栏切换效果
2020/12/22 jQuery
使用Pyrex来扩展和加速Python程序的教程
2015/04/13 Python
python添加模块搜索路径方法
2017/09/11 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
python文件读写代码实例
2019/10/21 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
python super()函数的基本使用
2020/09/10 Python
英国灯具和灯泡网上商店:Lights.co.uk
2018/02/02 全球购物
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
不用游标的SQL语句有哪些
2012/09/07 面试题
如何填写个人简历自我评价
2013/12/10 职场文书
三查三看党性分析材料
2014/02/18 职场文书
Nginx的rewrite模块详解
2021/03/31 Servers
(开源)微信小程序+mqtt,esp8266温湿度读取
2021/04/02 Javascript
写好Python代码的几条重要技巧
2021/05/21 Python
JavaScript组合继承详解
2021/11/07 Javascript