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 Class 文章
Apr 04 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
解析PHP中的file_get_contents获取远程页面乱码的问题
Jun 25 PHP
php实现分页工具类分享
Jan 09 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
php如何实现只替换一次或N次
Oct 29 PHP
Symfony2实现从数据库获取数据的方法小结
Mar 18 PHP
php数组冒泡排序算法实例
May 06 PHP
PHP实现的激活用户注册验证邮箱功能示例
Jun 06 PHP
PHP对称加密算法(DES/AES)类的实现代码
Nov 14 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
Apr 14 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 if 想到的些问题
2008/03/22 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
基于jquery的15款幻灯片插件
2011/04/10 Javascript
一个CSS+jQuery实现的放大缩小动画效果
2014/02/19 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
javascript实现鼠标放上后下边对应内容变换的效果
2015/08/06 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
jquery层级选择器(匹配父元素下的子元素实现代码)
2016/09/05 Javascript
JavaScript注入漏洞的原理及防范(详解)
2016/12/04 Javascript
Kotlin学习第一步 kotlin语法特性
2017/05/25 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
Python+opencv+pyaudio实现带声音屏幕录制
2019/12/23 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
python的sys.path模块路径添加方式
2020/03/09 Python
全球最大的在线橄榄球商店:Lovell Rugby
2018/05/20 全球购物
大专计算机个人求职的自我评价
2013/10/21 职场文书
音乐学院硕士生的自我评价分享
2013/11/01 职场文书
财务会计毕业生自荐信
2013/11/02 职场文书
爱情保证书范文
2014/02/01 职场文书
2014年创先争优活动总结
2014/05/04 职场文书
护士找工作求职信
2014/07/02 职场文书
2014党员干部四风问题对照检查材料思想汇报
2014/09/24 职场文书
体育个人工作总结
2015/02/09 职场文书
个人简历求职信范文
2015/03/20 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书
SQLServer常见数学函数梳理总结
2022/08/05 MySQL