laravel实现搜索分页
一 、控制器 /* * 搜索 */ 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) } ); }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: Laravel搜索的时候分页并携带参数
- 下一篇: laravel如何实现查询指定的5条数据?