php分页加layer,thinkPHP3.2.3结合Laypage实现的分页功能示例

本文实例讲述了thinkPHP3.2.3结合Laypage实现的分页功能。分享给大家供大家参考,具体如下:

控制器

namespace Home\Controller;

use Think\Controller;

class IndexController extends Controller {

/**

*@brief 查询

****/

public function index(){

$choose = I('choose','-6');

$c['easy_hard'] = $choose;

$type=I('typeid','');

$nowpage=I('page',1);

if($type == '')

{

if($choose == -6)

{

$totalpage=ceil((D('data')->count())/10);

$infos=D('data')->limit(($nowpage-1)*10,10)->select();

}else{

$totalpage=ceil((D('data')->where($c)->count())/10);

$infos=D('data')->where($c)->limit(($nowpage-1)*10,10)->select();

}

}else{

if($choose == -6)

{

$map['data'] = array('like',"%$type%");

$totalpage=ceil((D('data')->where($map)->count())/10);

$infos=D('data')->where($map)->limit(($nowpage-1)*10,10)->select();

}else{

$map['data'] = array('like',"%$type%");

$totalpage=ceil((D('data')->where($map)->where($c)->count())/10);

$infos=D('data')->where($map)->where($c)->limit(($nowpage-1)*10,10)->select();

}

}

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

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

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

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

$this -> display();

}

}

视图层

Think Demo

selected >全部

selected >简单

selected >一般

{$type} " id="type">搜索

ID语言难易程度操作
{$vo.id}{$vo.data}

简单

一般

删除

修改

添加

function choose()

{

var type=$("#type").val();

var checkValue=$("#slc1").val();

window.location.href="?typeid=" rel="external nofollow" rel="external nofollow" +type+"&choose="+checkValue;

}

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

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

var checkValue=$("#slc1").val();

window.location.href="?typeid=" rel="external nofollow" rel="external nofollow" +type+'&choose='+checkValue;

});

$(function(){

laypage({

cont: 'page11',

pages: {$totalpage}, //假设我们获取到的是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;

}

}

}

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值