lavarel5.2中下拉菜单类型的搜索

1:视图层中

上面:

<select name="partment" id="partment" style="width:100px;">
                 <option value="">请选择</option>   //切记这个请选择option标签里value值一定为空的,不然分页和搜索不能同时实现。
                <?php foreach ($partment as $key => $value) {?>
                   <option value="{{$value->p_id}}" class="option">{{$value->partment}}</option>
                <?php }?>
                </select>
        <button type="submit" οnclick="page(<?php echo $page?>)"class="btn btn-success" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜部门</button>    
<script>

// 搜索分页
    function page(page){
        var search=document.getElementsByName('partment')[0].value;//获取选中下拉菜单值
        //alert(search);
        var ajax=new XMLHttpRequest();
        ajax.open('get','{{url('ad_list')}}?page='+page+'&search='+search);
        ajax.send();
        ajax.onreadystatechange=function(){
            if(ajax.readyState==4&ajax.status==200){
                document.getElementById('div1').innerHTML=ajax.responseText;
            }

        }
    }

</script>

2:控制器中查询方法;

public function ad_list(){
            $partment = DB::table('mr_partment')->get();

        //echo 66666;die;
        //分页查询开始
        $search = isset($_GET['search'])?$_GET['search']:"";//判断是否接过搜索值
       if($search)
       {
           //$arr = DB::select("select * from mr_work where title like '%$search%'");//带搜索条件查询
           $arr=DB::table('mr_work')//主表
                 ->join('mr_partment', 'mr_work.p_id', '=', 'mr_partment.p_id')
                 ->select('mr_work.*', 'mr_partment.partment')
                 ->where ('mr_work.p_id','like','%'.$search.'%')
                 ->get();//搜索多表查询

       }else{
           //$arr = DB::table('mr_work')->get();//不带搜索条件查询
           $arr=DB::table('mr_work')//主表
                 ->join('mr_partment', 'mr_work.p_id', '=', 'mr_partment.p_id')
                 ->select('mr_work.*', 'mr_partment.partment')
                 ->get();//搜索多表查询
       }
       //总条数
       $count = count($arr);
       //每页条数
       $mys = 3 ;
       //计算总页数
       $zys = ceil($count/$mys);
       //获取当前页
       $page = isset($_GET['page'])?$_GET['page']:1;
       //偏移量
       $pyl = ($page-1)*$mys;
       if($search)
       {
           //$arr = DB::select("select * from mr_work where title like '%$search%' limit $pyl,$mys");//带搜索分页条件查询
            $arr=DB::table('mr_work')//主表
                 ->join('mr_partment', 'mr_work.p_id', '=', 'mr_partment.p_id')
                 ->select('mr_work.*', 'mr_partment.partment')
                 ->where ('mr_work.p_id','like','%'.$search.'%')
                 ->skip($pyl)
                 ->take($mys)
                 ->get();//搜索分页多表查询
       }else{
           //$arr = DB::table('mr_work')->skip($pyl)->take($mys)->get();//带分页条件查询
            $arr=DB::table('mr_work')//主表
                 ->join('mr_partment', 'mr_work.p_id', '=', 'mr_partment.p_id')
                 ->select('mr_work.*', 'mr_partment.partment')
                 ->skip($pyl)
                 ->take($mys)
                 ->get();//搜索分页多表查询
       }
       //上一页
       $last = $page-1<1?1:$page-1;
       //下一页
       $next = $page+1>$zys?$zys:$page+1;
       // print_R($next);die;
       return view('Ad/ad_list',['partment'=>$partment,'result'=>$arr,'search'=>$search,'last'=>$last,'next'=>$next,'sum_page'=>$zys,'page'=>$page,'count'=>$count]);
       //分页查询结束
       
    }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值