欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

thinkphp3.2.3 分页代码分享_php实例

程序员文章站 2022-04-26 13:36:46
...
对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法

thinkphp3.2.3 分页代码分享_php实例

1、在公共函数Application/Common/Common/function.php中书写:

function getpage($count,$pagesize=10) {
 $page=new Think\Page($count,$pagesize);
 $page->setConfig('header', '
  • %TOTAL_ROW%条记录 %NOW_PAGE%/%TOTAL_PAGE%
  • '); $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; }

    在控制器PageController.class.php中调用

    namespace Home\Controller;
    use Think\Controller;
    class PageController extends Controller {
     public function index() {
      $m=M('user');
      $count=$m->count();
      $page= getpage($count,8);//Common/function.php中分页
      $list=$m->limit($page->firstRow,$page->listRows)->select();
      $this->assign('list',$list);//赋值数据集
      $this->assign('page',$page->show());//赋值分页输出
      $this->display();
     }
    }
    
    

    在视图index/index.html中显示

    
    
     
      
    用户名:

    {$vo['name']}

    {$page}

    样式的书写page.css

    .pages a,.pages span {
     display:inline-block;
     padding:2px 5px;
     margin:0 1px;
     border:1px solid #f0f0f0;
     -webkit-border-radius:3px;
     -moz-border-radius:3px;
     border-radius:3px;
    }
    .pages a,.pages li {
     display:inline-block;
     list-style: none;
     text-decoration:none; color:#58A0D3;
    }
    .pages a.first,.pages a.prev,.pages a.next,.pages a.end{
     margin:0;
    }
    .pages a:hover{
     border-color:#50A8E6;
    }
    .pages span.current{
     background:#50A8E6;
     color:#FFF;
     font-weight:700;
     border-color:#50A8E6;
    }
    
    

    2、在模板UserModel.class.php中书写分页函数

    namespace Home\Model;
    use Think\Model;
    class UserModel extends Model {
     public function getPage() {
       $page=I('p',0,'int');
       $limit=8;
       $data=$this->page($page,$limit)->select();
       $count= $this->count();
       $Page=new \Think\Page($count, $limit);
       
       $Page->lastSuffix=false;//是否显示总页数
       $Page->setConfig('header','
  • %TOTAL_ROW%幅图片 每页'.$limit.'%NOW_PAGE%/%TOTAL_PAGE%
  • '); $Page->setConfig('prev','上一页'); $Page->setConfig('next','下一页'); $Page->setConfig('last','末页'); $Page->setConfig('first','首页'); $Page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%'); $show=$Page->show(); return array('list'=>$data,'page'=>$show); } }

    控制器PageController.class.php中调用

    namespace Home\Controller;
    use Think\Controller;
    class PageController extends Controller {
     public function index() {
      $m=D('Upload_img');
      $list=$m->getPage();//model中分页
      $this->assign('list',$list);//赋值数据集
      $this->display();
     }
    }
    
    

    视图显示index/index.html

    
    
     
      
    用户名:

    {$vo['name']}

    {$list.page}

    分页的样式与第1中公共方法中page.css中样式相同
    以上引用文件常量"__CSS__"在公共配置文件中配置:

     return array(   'TMPL_PARSE_STRING'=>array(
      '__CSS__'=>__ROOT__.'/Public/Css',
     ))

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。