thinkPHP3.2.3结合Laypage实现分页功能
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkPHP3.2.3结合Laypage实现分页功能,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4398字,纯文字阅读大概需要7分钟。
内容图文
![thinkPHP3.2.3结合Laypage实现分页功能](/upload/InfoBanner/zyjiaocheng/135/bf96bc2ec82c4bae945d8e0d558de2ae.jpg)
本文实例讲述了thinkPHP3.2.3结合Laypage实现的分页功能。分享给大家供大家参考,具体如下:
控制器
<?php 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(); } }
视图层
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Think Demo</title> <script type="text/javascript" src="__PUBLIC__/jquery-1.11.1/jquery.min.js"></script> <script type="text/javascript" src="__PUBLIC__/jquery-1.11.1/jquery.js"></script> <script type="text/javascript" src="__PUBLIC__/layer/layer.js"></script> <script type="text/javascript" src="__PUBLIC__/laypage/laypage.js"></script> </head> <body> <p> <select name="" id="slc1" onchange="return choose()"> <option value="-6" <if condition="$choose eq -6 "> selected </if> >全部</option> <option value="0" <if condition="$choose eq 0 "> selected </if> >简单</option> <option value="1" <if condition="$choose eq 1 "> selected </if> >一般</option> </select> <input type="text" value="<if condition="$type neq '' "> {$type} </if>" id="type"><button id="sou">搜索</button> </p> <br> <table border="1" width="500" height="150" > <tr> <th>ID</th> <th>语言</th> <th>难易程度</th> <th>操作</th> </tr> <volist name="infos" id="vo"> <tr> <th>{$vo.id}</th> <th>{$vo.data}</th> <th> <if condition="$vo.easy_hard eq '0'">简单 <else />一般 </if> </th> <th> <a href="javascript:;" rel="external nofollow" rel="external nofollow" onclick="return del({$vo.id});">删除</a> <a href="javascript:;" rel="external nofollow" rel="external nofollow" onclick="return edit({$vo.id});">修改</a> </th> </tr> </volist> </table> <p style="margin-top:15px; text-align:center;" id="page11"></p> <button onclick="return add_()"> 添加 </button> <br /> <script type="text/javascript"> 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; } } } </script> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
thinkPHP中统计排行与分页显示的功能
thinkphp实现分页显示功能
以上就是thinkPHP3.2.3结合Laypage实现分页功能的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的thinkPHP3.2.3结合Laypage实现分页功能全部内容,希望文章能够帮你解决thinkPHP3.2.3结合Laypage实现分页功能所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。