• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkPHP3.2.3结合Laypage实现的分页功能示例

    本文实例讲述了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>
    div>
     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>
    /div>
    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>
      div style="margin-top:15px; text-align:center;" id="page11">/div>
      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>
    
    

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

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

    您可能感兴趣的文章:
    • laypage.js分页插件使用方法详解
    • layui2.0使用table+laypage实现真分页
    • 基于layPage插件实现两种分页方式浅析
    • thinkPHP5使用laypage分页插件实现列表分页功能
    • 基于LayUI分页和LayUI laypage分页的使用示例
    • VUEJS实战之利用laypage插件实现分页(3)
    • laypage分页控件使用实例详解
    • js多功能分页组件layPage使用方法详解
    • laypage前端分页插件实现ajax异步分页
    • laypage+SpringMVC实现后端分页
    上一篇:Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
    下一篇:PHP封装的非对称加密RSA算法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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