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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    TP3.2框架分页相关实现方法分析

    本文实例讲述了TP3.2框架分页相关实现方法。分享给大家供大家参考,具体如下:

    需要用到分页的继承这个控制器即可

    ?php
    namespace Home\Controller;
    use Think\Controller;
    class BaseController extends Controller {
        /**
         * 基础分页的相同代码封装,使前台的代码更少
         * @param $count 要分页的总记录数
         * @param int $pagesize 每页查询条数
         * @return \Think\Page
        */
        function getpage($count, $pagesize = 20,$waps) {
              $Page = new \Think\Page($count,$pagesize,$waps);
         $Page->rollPage = 5;
         $Page->setConfig('header', 'li class="rows">第b>%NOW_PAGE%/b>页/共b>%TOTAL_PAGE%/b>页/li>');
           $Page->setConfig('prev', '上一页');
           $Page->setConfig('next', '下一页');
         $Page->setConfig('last', '末页');
             $Page->setConfig('first', '首页');
             $Page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
             $Page->lastSuffix = false;//最后一页不显示为总页数
             return $Page;
        }
        /**
         * @param $model     模型
         * @param $map         where条件
         * @param $find      0 select 1=find 2=关联表
         * @return $list     数组
        */
        function _select($model,$map,$order='',$field="",$find="0",$limit=20,$join,$param){
            $waps = $param;
            if(empty($model)  empty($map)){
                $this->list = array();
            }else{
                if($find == 0){
                    $count = $model->where($map)->count();
                    $Page = $this->getpage($count,$limit,$waps);
                    if($Page->firstRow  0){
                        $Page->firstRow = 0;
                    }
                    if($order != ""){
                        $this->list = $model->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                    }else{
                        $this->list = $model->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                    }
                    $this->page = $Page->show();
                }else if($find == 1){
                    $this->list = $model->field($field)->where($map)->find();
                }else if($find == 3){
                    $count = $model->alias("t1")->join($join)->where($map)->count(); 
                    $Page = $this->getpage($count,$limit,$waps);
                    if($Page->firstRow  0){
                        $Page->firstRow = 0;
                    }
                    if($order != ""){
                        $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->select();
                    }else{
                        $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->select();    
                    }
                    $this->page = $Page->show();
                }else if($find == 4){
                    if($order != ""){
                        $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->order($order)->limit($Page->firstRow. ',' . $Page->listRows)->find();
                    }else{
                        $this->list = $model->alias("t1")->join($join)->field($field)->where($map)->limit($Page->firstRow. ',' . $Page->listRows)->find();    
                    }
                }
                $this->limit = $Page->firstRow;
                $this->assign("listinfo",$this->list);
                $this->assign("page",$this->page);
                return($this->list);
            }
        }
    }
    
    

    控制器中先继承后使用。

    if($this->txt_keyword){
        $where['m_title'] = array('like','%'.$this->txt_keyword.'%');
    }
     
    $where['status'] = $param['status'] = 0;
    $this->_select($this->information_mod,$where,'','*',0,10,'',$param);
    $this->display();
    
    

    模板中

    div class="hg_page" >
       {$page}
    /div>
    
    

    分页样式

    style>
     .hg_page .first, .hg_page .current, .hg_page .num, .hg_page .next, .hg_page .end, .hg_page .rows, .hg_page .prev{
      float: left;
      height: 37px;
      padding: 0 15px;
      border: 1px solid #e5e5e5;
      line-height: 37px;
      margin: 0 3px;
     }
     .hg_page{
      text-align: center;
      height: 37px;
      margin:0 auto;
      margin-top: 30px;
      margin-bottom: 20px;
      width: 800px;
     }
    /style>
    
    

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

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

    您可能感兴趣的文章:
    • tp5框架内使用tp3.2分页的方法分析
    • tp5框架无刷新分页实现方法分析
    • TP5框架实现自定义分页样式的方法示例
    • ThinkPHP分页类使用详解
    • ThinkPHP 3.2 数据分页代码分享
    • Thinkphp搜索时首页分页和搜索页保持条件分页的方法
    • thinkPHP5分页功能实现方法分析
    • ThinkPHP3.2.3实现分页的方法详解
    • 在Thinkphp中使用ajax实现无刷新分页的方法
    • Thinkphp和Bootstrap结合打造个性的分页样式(推荐)
    • thinkPHP5框架分页样式类完整示例
    • thinkPHP3.2实现分页自定义样式的方法
    上一篇:PHP Trait功能与用法实例分析
    下一篇:PHP常用字符串函数用法实例总结
  • 相关文章
  • 

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

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

    TP3.2框架分页相关实现方法分析 TP3.2,框架,分页,相关,实现,