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 相关文章推荐
BBS(php &amp; mysql)完整版(三)
Oct 09 PHP
一个数据采集类
Feb 14 PHP
php 清除网页病毒的方法
Dec 05 PHP
php mssql 数据库分页SQL语句
Dec 16 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP答题类应用接口实例
Feb 09 PHP
PHP环境搭建的详细步骤
Jun 30 PHP
php 输出json及显示json中的中文汉字详解及实例
Nov 09 PHP
PHP使用phpunit进行单元测试示例
Sep 23 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 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
Protoss兵种对照表
2020/03/14 星际争霸
解析php中如何调用用户自定义函数
2013/08/06 PHP
部署PHP项目应该注意的几点事项分享
2013/12/20 PHP
php代码架构的八点注意事项
2016/01/25 PHP
Symfony核心类概述
2016/03/17 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
JS 判断代码全收集
2009/04/28 Javascript
JavaScript创建类/对象的几种方式概述及实例
2013/05/06 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
jquery中ajax跨域方法实例分析
2015/12/18 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
js实现抽奖效果
2017/03/27 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
基于Python中capitalize()与title()的区别详解
2017/12/09 Python
Python 统计字数的思路详解
2018/05/08 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
2018/06/28 Python
python调用虹软2.0第三版的具体使用
2019/02/22 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
django基于restframework的CBV封装详解
2019/08/08 Python
django使用graphql的实例
2020/09/02 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
英文版餐饮运营管理求职信
2013/11/06 职场文书
安全事故检讨书
2014/01/18 职场文书
残疾人创业典型事迹
2014/02/01 职场文书
2015年工会工作总结
2015/03/30 职场文书
人事聘任通知
2015/04/21 职场文书
Python基础之数据类型知识汇总
2021/05/18 Python