thinkphp3.2.3 分页代码分享

5年以前  |  阅读数:509 次  |  编程语言:PHP 

对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法

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


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

在控制器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中显示


    <!DOCTYPE html>
    <html>
     <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <link href="__CSS__/page.css" rel="stylesheet" />
     </head>
     <body>
      <div>
       <volist name="list" id="vo">
        <notemply name="$vo['name']">
         用户名:<p>{$vo['name']}</p>
        </notemply>
       </volist>
       <div>
        <table>
         <tr>
          <td colspan="3" bgcolor="#FFFFFF">
           <div class="pages">{$page} </div>
          </td>
         </tr>
        </table>
       </div>
      </div>
     </body>
    </html>

样式的书写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','<li>共<b>%TOTAL_ROW%</b>幅图片  每页<b>'.$limit.'</b>幅  <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%');
       $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


    <!DOCTYPE html>
    <html>
     <head>
      <title></title>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
       <link href="__CSS__/page.css" rel="stylesheet" />
     </head>
     <body>
      <div>
       <volist name="list.list" id="vo">
        <notemply name="$vo['name']">
         用户名:<p>{$vo['name']}
        </notemply>
       </volist>
       <div>
        <table>
         <tr>
          <td colspan="3" bgcolor="#FFFFFF">
           <div class="pages">{$list.page} </div>
          </td>
         </tr>
        </table>
       </div>
      </div>
     </body>
    </html>

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


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

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

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例