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)
} );
}
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: 二维数组进行排序并且合并
- 下一篇:没有了
