分页插件php,Thinkphp5之laypage分页插件的实现

//一下是laypage所用到的 js

laypage({

cont: 'page11',

pages: 18, //假设我们获取到的是18(后端计算完总页数后将总页数值传过来,放在这里即可(类似{$totalpage})).

curr: function(){ //通过url获取当前页,也可以同上(pages)方式获取

var page = location.search.match(/page=(\d+)/);

return page ? page[1] : 1;//如果没有页数显示时,默认是第一页

}(),

jump: function(e, first){ //触发分页后的回调

if(!first){ //一定要加此判断,否则初始时会无限刷新

location.href=setParam("page",e.curr);

}

}

});

function setParam(param,value){

var query = location.search.substring(1);

var p = new RegExp("(^|)" + param + "=([^&]*)(|$)");

if(p.test(query)){

//query = query.replace(p,"$1="+value);

var firstParam=query.split(param)[0];

var secondParam=query.split(param)[1];

if(secondParam.indexOf("&")>-1){

var lastPraam=secondParam.split("&")[1];

return '?'+firstParam+'&'+param+'='+value+'&'+lastPraam;

}else{

if(firstParam){

return '?'+firstParam+''+param+'='+value;

}else{

return '?'+param+'='+value;

}

}

}else{

if(query == ''){

return '?'+param+'='+value;

}else{

return '?'+query+'&'+param+'='+value;

}

}

}

//HTML显示

/上面的 id是自己的设置的,改的话,注意前面的cont: 'page11', 这里也要换。到此前端的准备已经完了。

搜索条件的也要附上URL地址的话,我是这么写的

//点击搜索

$("#sou").bind("click",function(event){

event.preventDefault();//这里不懂的可以自己查查(用于取消事件的默认行为 一般是有时,没有就直接去掉)。

vartype=$("#type").val();//获取假设的搜索条件值

varurl=$(this).attr("souid");//这里的是获取点击是要跳转的地址(例如:souid="" 跳转地址自己换)

window.location.href=url+"?typeid="+type;

});

二、现在是后端的部分

public function semList(){

//laypage实现分页倒叙列表查询

$nowpage=input('page',1);//获取post传来的页数,如果没有页数时,页数为1

$totalpage=ceil((model('sem')->count())/10);$totalpage就是计算你要获取的最大页数,ceil 是向前取整,这里是设置为10条数据为1页(注意括号)//这里尽量简写了。

//下面注意加上 这句 limit(($nowpage-1)*10,10),就是数据控制每页显示数据的条数,获取页数后乘以设置的条数,获取该页的10条(自己设置)数据

$semList=model('sem')->order('create_time desc')->limit(($nowpage-1)*10,10)->select();

$count = SemModel::count();

$this->assign("totalpage",$totalpage);

$this->assign('count',$count);

$this->assign('semList',$semList);

return $this->fetch('sem_list');

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值