本人小白一枚,所以之前都是用自带的分页,后来有大神推荐我了这个,感觉不错,所以就推荐一下,分页一般是用GET来传值的,所以,一旦要进行搜索执行时,需把搜索值加在URL上,否则会点击下一页,搜索条件被刷掉,第一次发帖,(欢迎大神给小的指点改进),主要是写给同为小白苦苦挣扎的小伙伴们看的(共勉)。
//这里是前端页面需要引入的文件,去 http://laypage.layui.com/ 官网下载放在项目下即可(我将文件放在了Public下,然后再调用出来),<script></script>
//好像很实用的样子,后端的同学再也不用写分页逻辑了。这里只要复制进来就可以了。不用改<script></script>
//设置url中连接符(为什么要加这段呢?因为我们要带搜索条件时,一般的URL要带"?","&",这两个符号,这里就是为了,在追加页码时,当有了“?”符号时,会换成“&”,没有时则是“?”加page=页数,以下也是直接复制进去就可以了。)
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);
}
}
});<b>function setParam(param,value){<br>
var query = location.search.substring(1);<br>
var p = new RegExp("(^|)" + param + "=([^&]*)(|$)");<br>
if(p.test(query)){<br>
//query = query.replace(p,"$1="+value);<br>
var firstParam=query.split(param)[0];<br>
var secondParam=query.split(param)[1];<br>
if(secondParam.indexOf("&")>-1){<br>
var lastPraam=secondParam.split("&")[1];<br>
return '?'+firstParam+'&'+param+'='+value+'&'+lastPraam;<br>
}else{<br>
if(firstParam){<br>
return '?'+firstParam+''+param+'='+value;<br>
}else{<br>
return '?'+param+'='+value;<br>
}<br>
}<br>
}else{<br>
if(query == ''){<br>
return '?'+param+'='+value;<br>
}else{<br>
return '?'+query+'&'+param+'='+value;<br>
}<br>
} <br>
}<br>
</b>
//最后在你显示数据(例如后)最后添加下面这个<b><div></div></b>
//上面的 id是自己的设置的,改的话,注意前面的cont: 'page11', 这里也要换。到此前端的准备已经完了。
搜索条件的也要附上URL地址的话,我是这么写的
//点击搜索<b>$("#sou").bind("click",function(event){<br>
event.preventDefault();</b>//这里不懂的可以自己查查(用于取消事件的默认行为 一般是有<from>时,没有就直接去掉)。<br>
<b>var type=$("#type").val();</b>//获取假设的搜索条件值<br>
<b>var url=$(this).attr("souid");</b>//这里的是获取点击是要跳转的地址(例如:souid="" 跳转地址自己换)<br>
<b> window.location.href=url+"?typeid="+type;<br>
});</b></from>
(小白就只能这么写了,见谅,基本的JQ,应该还是可以理解吧!)
二。现在是后端的部分<b>public function text(){</b><br>
//下面是获取GET传来的页数,如果没有页数时,页数为1.<br>
<b>$nowpage=I('page',1);</b><br>
//$totalpage就是计算你要获取的最大页数,ceil 是向前取整,这里是设置为10条数据为1页(注意括号)。<br>
<b>$totalpage=ceil((M('order')->where(条件)<br>
->count())/10);</b>//这里尽量简写了。<br>
//下面注意加上 这句 limit(($nowpage-1)*10,10),就是数据控制每页显示数据的条数,获取页数后乘以设置的条数,获取该页的10条(自己设置)数据<br>
<b>$res=M('order')->where(条件)<br>
->limit(($nowpage-1)*10,10)<br>
->select();</b><br>
//最后,就是把数据和最大页数传到前端接受了完成了。(搜索条件的也要的话也要传。)<br>
<b> $this->assign("totalpage",$totalpage);<br>
$this->assign("res",$res);</b><br>
<b>}</b>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器