laravel 批添 批删 单删 即点即改

1 控制器层

<?php
namespace App\Http\Controllers;
use DB;
use Log;
use App\User;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Session;


class GoodsController extends Controller{
    /*
    加载一个登录页面
     */
    public function login(){
        return view("/goods/login");
    }

    /*
    执行登录
     */
    public function login_add(Request $request){
        $name=$request->input('username');
        $pwd=$request->input('pwd');
        //echo $name.$pwd;die;
        //$sess=$request->session()->get('username');
        //echo $sess;die;
        $us=DB::table('guser')->where("username",$name)->first();
        //print_r($us);die;
        if($us){
            $request->session()->put('username',$name);
            
            return redirect("/goods/lists");
        }else{
            echo "<script>alert('用户名或密码错误'); window.history.go(-1)</script>";
        }
    }
    /*
    商品列表页
     */
    public function lists(){
        $god=DB::table("ggoods")->get();
        //print_r($god);
        return view("/goods/lists",['god'=>$god]);
    }
    /*
    删除
     */
    public function dele(Request $request){
        $gname=session()->get('gname');
        $gname=implode("",$gname);

        $username=session()->get('username');

        $id=$request->get('id');

        //echo $id;die;
        $de=DB::table("ggoods")->where("id",$id)->delete();
        //print_r($de);die;
        $date=date("Y-m-d H:i:s");
        $saves="<font color='blue'>$username</font>"."删除id为-".$id."-商品名为-".$gname."-的商品";
        $arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
        $this->works($arr);
        if($de){
            echo "<script>alert('删除成功');</script>";
            return redirect("/goods/lists");
        }else{
            echo "<script>alert('删除失败');windows.history.go(-1)</script>";
        }
    }

    /*
    ajax删除
     */
    public function ajaxdele(Request $request){
        //$name=session()->get('name');
        //$name=implode(",",$name);
        //echo $name;die;
        $username=session()->get('username');
        //echo $username;die;
        $id=$request->input('id');
        $id=ltrim($id,",");
        $ar=explode(",",$id);
            
        $res=DB::table('ggoods')->whereIn('id',$ar)->delete();
        //print_r($res);die;
        
        if($res){
            $date=date("Y-m-d H:i:s");
            $saves="<font color='yellow'>$username</font>"."删除id为".$id."的商品";
            $arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
            $this->works($arr);
            echo "ok";
        }else{
            echo "no";
        }
    }

    /*
    插入数据
     */
    public function goods_add(){
        return view('/goods/goods_add');
    }
    public function goods_sh(Request $request){
        $username=$request->session()->get('username');
        //echo $username;die;
        //echo $name;die;
        //$gname=$request->input('name');

        // $preck=$request->input('preck');
        $gname = $request->input('name');
        $request->session()->put("gname",$gname);
        $gnames=implode(",",$gname);
        $prick=$request->input('price');
        //print_r($prick);die;
        foreach($gname as $key=>$val){
                $names=$gname[$key];
                $pricks=$prick[$key];
                //$gprick=$post['list'][$key];
                //$precks=$preck[$key];
             //print_r($gnames);
        $sh=DB::table("ggoods")->insert(['name'=>$names,'prick'=>$pricks]);
        }
        
        //die;
        //print_r($sh);die;
        
        $date=date('Y-m-d H:i:s');
        $saves="<font color='red'>$username</font>"."添加商品名为-".$gnames."-的商品";
        $arr=array('work_time'=>$date,'work_name'=>$username,'work_saves'=>$saves);
        $this->works($arr);
        //print_r($sh);
        if($sh){
            return redirect("/goods/lists");
        }
    }

    /*
    操作日志
     */
    public function works($arr){
        DB::table('gwork')->insert($arr);
    
    }

    /*
    日志列表
     */
    public function wok(){
        $de=DB::table('gwork')->get();
        if($de){
            return view('/goods/wok',['de'=>$de]);
        }
    }

    /*
    即点即改
     */
    public function updat(Request $request){
        $username=session()->get('username');
        $id=$request->input('id');
        $prick=$request->input('prick');
        $rep=DB::table('ggoods')->where('id',$id)->update(['prick'=>$prick]);
        if($rep){
            $date=date("Y-m-d H:i:s");
            $saves="<font color='green'>$username</font>"."修改了价格为-".$prick."-的商品";
            $arr=array('work_name'=>$username,'work_time'=>$date,'work_saves'=>$saves);
            $this->works($arr);
            echo "ok";
        }else{
            echo "no";
        }

    }

}

?>


2 视图层

<pre name="code" class="php"><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>商品列表</title>
    <style type="text/css">
        span{
            color:red;
            cursor:pointer;
        }

    </style>
</head>
<body>
    <center>
    <h2>商品列表展示</h2>
    <a href="{{url('/goods/goods_add')}}">插入数据</a>
        <table border="1">
            <tr>
                <th><input type="checkbox"/></th>
                <th>商品</th>
                <th>价格</th>
                <th>操作</th>
            </tr>
            <?php foreach($god as $key=>$val){?>
            <tr id="d_<?php echo $val->id?>">
                <td><input type="checkbox" class="box" value="<?php echo $val->id?>"></td>


                <td>
<input type="text" style="display:none" id="ming_<?php echo $val->id?>" value="<?php echo $val->name?>">
<span class="spn" id="spn_<?php echo $val->id?>" data="<?php echo $val->id?>"><?php echo $val->name?></span>
                </td>



                <td>
<input type="text" style="display:none" id="jia_<?php echo $val->id?>" value="<?php echo $val->prick?>">
<span class="sp" id="sp_<?php echo $val->id?>" data="<?php echo $val->id?>"><?php echo $val->prick?></span>

                </td>

                <td>
                    <a href="{{url('/goods/dele')}}?id={{$val->id}}">删除</a>
                </td>
            </tr>
            <?php } ?>
        </table>
        <input type="button" id="pi" value="批量删除">
        <a href="{{url('/goods/wok')}}">操作日志</a>
    </center>
<script src="{{asset('/face/jquery-1.9.1.min.js')}}"></script>
    <script>
        $(function(){
            //即点即改
//each()方法jQuery遍历方法 实例 输出每个 元素的文本 attr()方法设置或返回被选元素的属性和值。
            $(".sp").each(function(){
                var id=$(this).attr("data");
                $(this).click(function(){
                    $("#jia_"+id).css("display","block");
                    $("#sp_"+id).css("display","none");
                })
//blur() 方法 jQuery 事件方法 实例 添加函数到 blur 事件。当 字段失去焦点时发生 blur 事件: $("input").blur(function(){    alert("输入框失去了焦点");
                $("#jia_"+id).blur(function(){
                    var prick=$("#jia_"+id).val();
                    var _token="<?php echo csrf_token();?>";
                    var send={prick:prick,_token:_token,id:id};
                    var url="{{url('/goods/updat')}}";
                    $.post(url,send,function(dat){
                        //alert(dat);
                        if(dat=='ok'){
                            $("#sp_"+id).html(prick);
                            $("#jia_"+id).css("display","none");
                            $("#sp_"+id).css("display","block");
                        }else{
                            alert("修改失败");
                            $("#jia_"+id).css("display","none");
                            $("#sp_"+id).css("display","block");
                        }
                    })
                })
            })

            //批量删除
            $("#pi").click(function(){
                var obj=$(".box");
                var str="";
                for(var i=0;i<obj.length;i++){
                    if(obj.eq(i).prop("checked")==true){
                        var id=obj.eq(i).val();
                        var str=str+","+id;

                    }
                }
                //alert(str);
            if(confirm("您确定要批量删除吗?")){
            var _token="<?php echo csrf_token(); ?>";
            var send={_token:_token,id:str}
            var url="{{url('/goods/ajaxdele')}}"
            $.post(url,send,function(data){
                //alert(data);
                if(data=="ok"){
                    for(var i=0;i<obj.length;i++){
                        if(obj.eq(i).prop("checked")==true){
                            var id=obj.eq(i).val();
                            $("#d_"+id).remove();
                        }
                    }
                }
              
            })
        }


            })

        })



    
</script>
</body>
</html>


3 即点即改
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>插入数据</title>
</head>
<body>
    <center>
        <form action="{{url('/goods/goods_sh')}}" method="post">
    <input type="hidden" name="_token" value="{{csrf_token()}}">

            <table id="table">
                <tr>
                    <td>商品名:</td>
                    <td><input type="text" name="name[]"></td>
                    <td>价格:</td>
                    <td><input type="text" name="price[]"></td>
                </tr>
                <tr id="bo" colspan="4">
                    <td><input type="button" value="+" id="goo">
                    <input type="submit" value="添加"></td>
                </tr>
            </table>

            

        </form>
    </center>
</body>
</html>
<script src="{{asset('/face/jquery-1.9.1.min.js')}}"></script>
<script>
$(function(){    
    $("#goo").click(function(){
        //根据当前元素获取所有的父元素
       var nowtr =  $(this).parents("tr")    
       alert(nowtr);
       //获取nowtr的每个元素的前一个同级元素
       var newtr= nowtr.prev().html()
       //建立索引  是可变的 现在table中有2个tr 这是只需要一个 所以减去1
       var index = $("#table tr").length-1;
    
     // 往后边追加就可以了
       nowtr.prev().after("<tr>"+newtr+"</tr>")


    })
})

</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值