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)" οnclick="add(this);">+添加友情链接</a></td>
          <td><input type="checkbox" οnclick="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="删除该行" οnclick="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>

转载于:https://www.cnblogs.com/shaohuixia/p/5366792.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值