牛骨文教育服务平台(让学习变的简单)
博文笔记

laravel实现搜索分页

创建时间:2018-01-30 投稿人: 浏览次数:181
一 、控制器
/*
 * 搜索
 */
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);" onclick="page(1)">首页</a>";
    $str .= "<a href="javascript:void(0);" onclick="page($last)">上一页</a>";
    $str .= "<a href="javascript:void(0);" onclick="page($next)">下一页</a>";
    $str .= "<a href="javascript:void(0);" onclick="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)
         } );
 }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。