laravel实现搜索分页

39 篇文章 0 订阅
一 、控制器
/*
 * 搜索
 */
public function sou(){
    //接值
    $name=Input::get('name');
    $start=Input::get('start');
    $end=Input::get('end');
    //拼接搜索条件
    $where='1';
    //模糊查询
    if(!empty($name)){
         $where.=" and e_title  like '%$name%'";
    }
    //时间段
    if(!empty($start)){
        if(!empty($end)){
            $where.=" and e_time  between  '$start' and '$end'";
        }
    }
    //接收当前页码
    $page=Input::get('pages');
    //echo $page;die;
    //判断当前页码是否存在
    $pages = isset($page) ? $page : 1 ;
    //echo $pages;die;
    //计算总条数
    $count = DB::table('email')->count();
    //设置每一页显示的条数
    $pageSize = 3 ;
    //计算总页数
    $pageSum = ceil($count/$pageSize);
   // echo $pageSum;
    //计算偏移量
    $offset = ($pages - 1)*$pageSize;
    //echo $offset;die;
    //计算上一页 下一页
    $last = $pages<=1 ? 1 : $pages-1 ;
    $next = $pages>=$pageSum ? $pageSum : $pages+1 ;
    //拼接A链接
    $str = '';
    $str .= "<a href='javascript:void(0);' οnclick='page(1)'>首页</a>";
    $str .= "<a href='javascript:void(0);' οnclick='page($last)'>上一页</a>";
    $str .= "<a href='javascript:void(0);' οnclick='page($next)'>下一页</a>";
    $str .= "<a href='javascript:void(0);' οnclick='page($pageSize)'>尾页</a>";
    //查询分页后的数据信息
    $results = DB::select("select * from email where $where limit $offset,$pageSize");
   //关键字变红
    foreach($results as $key=>$val){
        $results[$key]->e_title=str_replace($name,"<font color='red'>$name</font>",$val->e_title);
    }

 //渲染
        return view('sou',['list'=>$results,'page'=>$str,'name'=>$name,'start'=>$start,'end'=>$end]);
}

二 、视图层

//分页输出
  <?php echo $page?>


//搜索传后台
function sou(page){
   // 搜索的值    
 var na=$("#name").val();
  //开始的时间
 var sta=$("#start").val();
 //结束的时间
 var en=$("#end").val();
  
         $.get("{{URL('sou')}}", { pages:page,name:name,start:start,end:end},function(msg){
        //替换整个页面
            $("#html").html(msg)
         } );
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值