laravel ajax时间与关键字搜索、即点即改、批量删除

1、创建一个from表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="{{asset('jquery.1.12.js')}}"></script>
</head>
<body>
    <form action="{{url('login/select')}}" method="post">
    <input type="hidden" name="_token" value="{{csrf_token()}}">
        <table>
            <tr>
                <td>商品名</td>
                <td><input type="text" name="name[]"></td>
            </tr>
            <tr>
                <td>价格</td>
                <td><input type="text" name="price[]"></td>
            </tr>
            <tr>
                <td><input type="button" value="+"></td>
                <td><input type="submit" value="提交"></td>
            </tr>
        </table>
        
    </form>
</body>
</html>
<script>
    $('input[type="button"]').click(function(){
        //alert(1212);
        var str="<tr><td>商品名</td><td><input type='text' name='name[]'/></td></tr><tr><td>价格</td><td><input type='text' name='price[]'/></td></tr>";
        $(this).parents('tr').before(str);
    })
</script>



2、控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use DB;
use Session;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class Indexcontroller extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('login');
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function add(Request $request)
    {
        $username=$request->input('username');
        $pwd=$request->input('pwd');
        $res=DB::table('user')->insert(['username'=>$username,'pwd'=>$pwd]);
        if($res)
        {   
            Session::set('username',$username);
            Session::get('username');
            return redirect('login/from');
        }
        else
        {
            echo "登录失败";
        }

    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function sou(Request $request)
    {
        $search=$request->input('search');
        $start=$request->input('start');
        $end=$request->input('end');
        //echo $end;
        $where='1';
        //模糊查询
        if(!empty($search)){
             $where.=" and name like '%$search%'";
        }
        //  print_r($where);
            //时间段
        if(!empty($start)){
            if(!empty($end)){
                $where.=" and time  between  '$start' and '$end'";
            }
        }
         $arr = DB::select("select * from shangp where $where");
         
        //关键字变红
        // foreach($arr as $key=>$val){
        //     $arr[$key]->name=str_replace($search,"<font color='red'>$search</font>",$val->name);
        // }
        //print_r($arr);
        return view('index',['arr'=>$arr]);
        //print_r($results);
        
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store()
    {
        return view('from');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function select(Request $request)
    {
        $name=$request->input('name');
        //print_r($name);
        $price=$request->input('price');
        //print_r($price);die;
        // $name='';
        // $price='';
        if($name[0]=='' || $price[0]=='')
        {
            echo '名称或价格不能为空';
        }
        else
        {
            foreach ($name as $key => $value) {
                $arr[]=['name'=>$value,'price'=>$price[$key]];
            }
            //print_r($arr);die;
            $res=DB::table('shangp')->insert($arr);
            //print_r($res);die;
            $data=DB::table('log')->insert(['username'=>Session::get('username'),'content'=>"添加了数据",'time'=>date('y-m-dh:i:s',time())]);

            if($res)
            {
                return redirect('index/show');
            }
            else
            {
                echo "添加失败";
            }
        }
       
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show()
    {
        $arr=DB::table('shangp')->get();
        //print_r($arr);die;
        return view('list',['arr'=>$arr]);
    }
    /*
    **
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function delete(Request $request)
    {
        $id=$request->input('id');
        //echo $id;die;
        
        $res=DB::table('shangp')->where('id',$id)->delete();
         $data=DB::table('log')->insert(['username'=>Session::get('username'),'content'=>"删除了一条id为$id",'time'=>date('y-m-dh:i:s',time())]);
        if($res)
        {
            return redirect('index/show');
        }
        else
        {
            echo "删除失败";
        }
    }


    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function jd(Request $request)
    {
       $id=$request->input('id');
       //echo $id;
       $a=$request->input('a');
       //echo $val;\
       if(is_numeric($a))
       {
         DB::table('shangp')
            ->where('id',$id)
            ->update(['price' =>$a]);
           
       }
       else
       {
              DB::table('shangp')
            ->where('id',$id)
            ->update(['name' =>$a]);
       }
       

    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function ps(Request $request)
    {
        $id=$request->input('id');

        $str= rtrim($id,',');
        $data=explode(',',$str);
        //print_r($data);die;
        $res=DB::table('shangp')->whereIn('id',$data)->delete();
        $data=DB::table('log')->insert(['username'=>Session::get('username'),'content'=>"批量删除了id为$id",'time'=>date('y-m-dh:i:s',time())]);
        //print_r($data);
        //echo $id;die;
        //$str
        // foreach ($id as $key => $value) {
        //     $arr[]=['id'=>$value];
        //     // $res=DB::table('shangp')->where('value',$value)->delete();
        // }
        //print_r($arr);
        //$res=DB::table('shangp')->where('id',$id)->delete();

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}



3、表单展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="{{asset('jquery.1.12.js')}}"></script>
</head>
<body>
<div id="div">
关键字<input type="text" id="search"> <input type="text" id="start"><input type="text" id="end"> <button id="sou">搜索</button>

    <table border="1">
        <tr>
            <td>ID</td>
            <td>名称</td>
            <td>价格</td>
            <td>时间</td>
            <td>操作</td>
        </tr>

        @foreach ($arr as $v)
        <tr>
            <td><input type="checkbox" name="subChk" value="{{$v->id}}"></td>
            <td value="{{$v->id}}"><span class="click">{{$v->name}}</span></td>
            <td value="{{$v->id}}"><span class="click">{{$v->price}}</span></td>
            <td>{{$v->time}}</td>
            <td><a href="{{url('index/del')}}?id={{$v->id}}">删除</a></td>
        </tr>
        @endforeach
    </table>
    

    <!-- <div id="fpage">数据加载中...</div -->
    <button id="plsc">批量删除</button>
</div>

</body>
</html>

<script type="text/javascript">
     $("#sou").click(function () {
                var search = $("#search").val();
                var start = $("#start").val();
                var end = $("#end").val();
                //alert(search);
                var token="{{csrf_token()}}";
                $.ajax({
                    type: "post",
                    url: "{{url('index/sou')}}",
                    data: "search=" + search+"&start="+start+"&end="+end+"&_token="+token,
                    success: function (data) {
                       //alert(data)
                        $('#div').html(data);
                    }
                });

            });
 //    
    /* 批量删除 */
        $("#plsc").click(function() {
        // 判断是否至少选择一项
        var checkedNum = $("input[name='subChk']:checked").length;
        if(checkedNum == 0) {
        alert("请选择至少一项!");
        return;
        }
        // 批量选择
        if(confirm("确定要删除所选项目?")) {
        var checkedList = new Array();
        $("input[name='subChk']:checked").each(function() {
        checkedList.push($(this).val());
        });
        //alert(checkedList);
        var token="{{csrf_token()}}";
        $.ajax({
        type: "GET",
        url: "{{url('index/ps')}}",
        data: {'id':checkedList.toString(),'token':token},
         success: function(data) {
                    alert('删除成功')
                }
            });
        }
    });





      $(document).on("click", ".click", function () {  
            var con = $(this).html();  
            $(this).parent().html("<input type=\"text\" value=" + con + " id='aa' />");  
             $("input").focus();
            //alert(str);
            $(document).on("blur", "#aa", function () {  
                var a = $("#aa").val();
                var id=$(this).parent().attr('value');
                $(this).parent().html("<span class=\"click\">" + a + "</span>");
                //alert(id);
                var token="{{csrf_token()}}";
                $.ajax({
                     type:"POST",
                     url:"{{url('index/jd')}}",
                     data:"id="+id+"&a="+a+"&_token="+token,
                     success:function(data){
                               //根据返回值进行处理
                               alert('修改成功');
                     }
                   });
            });  
        });  

</script>



4、搜索后表单

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="{{asset('jquery.1.12.js')}}"></script>
</head>
<body>
<div id="div">
关键字<input type="text" id="search"> <input type="text" id="start"><input type="text" id="end"> <button id="sou">搜索</button>

    <table border="1">
        <tr>
            <td>ID</td>
            <td>名称</td>
            <td>价格</td>
            <td>时间</td>
            <td>操作</td>
        </tr>

        @foreach ($arr as $v)
        <tr>
            <td><input type="checkbox" name="subChk" value="{{$v->id}}"></td>
            <td value="{{$v->id}}"><span class="click">{{$v->name}}</span></td>
            <td value="{{$v->id}}"><span class="click">{{$v->price}}</span></td>
            <td>{{$v->time}}</td>
            <td><a href="{{url('index/del')}}?id={{$v->id}}">删除</a></td>
        </tr>
        @endforeach
    </table>
    

    <!-- <div id="fpage">数据加载中...</div -->
    <button id="plsc">批量删除</button>
</div>

</body>
</html>

<script type="text/javascript">
     $("#sou").click(function () {
                var search = $("#search").val();
                var start = $("#start").val();
                var end = $("#end").val();
                //alert(search);
                var token="{{csrf_token()}}";
                $.ajax({
                    type: "post",
                    url: "{{url('index/sou')}}",
                    data: "search=" + search+"&start="+start+"&end="+end+"&_token="+token,
                    success: function (data) {
                       //alert(data)
                        $('#div').html(data);
                    }
                });

            });
 //    
    /* 批量删除 */
        $("#plsc").click(function() {
        // 判断是否至少选择一项
        var checkedNum = $("input[name='subChk']:checked").length;
        if(checkedNum == 0) {
        alert("请选择至少一项!");
        return;
        }
        // 批量选择
        if(confirm("确定要删除所选项目?")) {
        var checkedList = new Array();
        $("input[name='subChk']:checked").each(function() {
        checkedList.push($(this).val());
        });
        //alert(checkedList);
        var token="{{csrf_token()}}";
        $.ajax({
        type: "GET",
        url: "{{url('index/ps')}}",
        data: {'id':checkedList.toString(),'token':token},
         success: function(data) {
                    alert('删除成功')
                }
            });
        }
    });





      $(document).on("click", ".click", function () {  
            var con = $(this).html();  
            $(this).parent().html("<input type=\"text\" value=" + con + " id='aa' />");  
             $("input").focus();
            //alert(str);
            $(document).on("blur", "#aa", function () {  
                var a = $("#aa").val();
                var id=$(this).parent().attr('value');
                $(this).parent().html("<span class=\"click\">" + a + "</span>");
                //alert(id);
                var token="{{csrf_token()}}";
                $.ajax({
                     type:"POST",
                     url:"{{url('index/jd')}}",
                     data:"id="+id+"&a="+a+"&_token="+token,
                     success:function(data){
                               //根据返回值进行处理
                               alert('修改成功');
                     }
                   });
            });  
        });  

</script>


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值