laravel 框架 之批量删除

视图中的代码

 @foreach($list as $v)
            <tr>
                <td align="center"><input type="checkbox" name="box" value="{{$v->news_id}}" class="box"/></td>
                
      @endforeach


//为了批量删除创建的一个按钮
 <input type="button" value="批量删除" id="but" onclick="fun()">

//js 以及 jq  与 ajax

<script type="text/javascript" src="{{asset('js')}}/jquery.min.js"></script>
<script>
 function fun() {
       $("#but").click(function(){
           //获取到所有的input
           var  box = $("input[name='box']");
           //去所有的input长度
           length =box.length;
           //alert(length);
           var str ="";
           for(var i=0;i<length;i++){
               //如果数组中的checked 为true  就将他的id进行拼接
               if(box[i].checked==true){
                   str =str+","+box[i].value;
               }
           }
           //将拼接的字符串第一个,号删除
           str= str.substr(1)
           //ajax  将id传入后台
           $.ajax({
               url:"{{url('news_ajax')}}",
               type:"get",
               data:{str:str},
               success:function (a) {
                //   alert(a)
               }
           })
           location.reload(0);
       })
   }
</script>

控制器中的代码

  public function aajax(){
        //获取到ajax传来的需要删除的id
        $id = $_GET['str'];
        //把传来的所有id改为数组形式  explode  字符串转数组
        $str = explode(",",$id);
        //利用循环将需要删除的id 一个一个进行执行sql;
        foreach($str as $v){
            DB::table('news')->where('news_id',"=","$v")->delete();
        }

    }

路由中的代码

Route::get('news_ajax',"Newscontroller\Newscontroller@aajax");

猜你喜欢

转载自blog.csdn.net/weixin_43524620/article/details/83961669