Thinkphp3.2.3分页使用实例解析


Posted in PHP onJuly 28, 2016

首先要搞清楚的就是ThinkPHP3.2.3的分页类已经被移到了Think\Page.class.php,这是跟以前的版本有些不一样的,使用起来还是跟以前版本差不多,但是默认的效果不敢恭维,所以最好是自己加些样式。 

我加了一些样式(不怎么好看),大家可以自行的再去改进分页样式,效果图: 

Thinkphp3.2.3分页使用实例解析

在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下: 

<?php
/**
 * TODO 基础分页的相同代码封装,使前台的代码更少
 * @param $count 要分页的总记录数
 * @param int $pagesize 每页查询条数
 * @return \Think\Page
 */
function getpage($count, $pagesize = 10) {
  $p = new Think\Page($count, $pagesize);
  $p->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
  $p->setConfig('prev', '上一页');
  $p->setConfig('next', '下一页');
  $p->setConfig('last', '末页');
  $p->setConfig('first', '首页');
  $p->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
  $p->lastSuffix = false;//最后一页不显示为总页数
  return $p;
}
?>

控制器中使用的代码如下: 

public function showAllUsers() {
    $m = M('User');   
    $where = "id>10";
    $count = $m->where($where)->count();
    $p = getpage($count,1);
    $list = $m->field(true)->where($where)->order('id')->limit($p->firstRow, $p->listRows)->select();
    $this->assign('select', $list); // 赋值数据集
    $this->assign('page', $p->show()); // 赋值分页输出
    $this->display();
  }

接下来在View中的使用: 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>用户信息输出</title>
    <link href="__ROOT__/Public/Css/style.css" rel="stylesheet" type="text/css" />
    <link href="__ROOT__/Public/Css/mypage.css" rel="stylesheet" type="text/css"/>
  </head>

  <body>
    <table width="405" border="1" cellpadding="1" cellspacing="1" bgcolor="#99CC33" bordercolor="#FFFFFF">
      <tr>
        <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">当前登录用户:{$Think.session.admin}</td>
      </tr>
      <tr>
        <td colspan="3" bgcolor="#FFFFFF" class="title" align="center">用户信息</td>
      </tr>
      <tr class="title">
        <td bgcolor="#FFFFFF" width="44">ID</td>
        <td bgcolor="#FFFFFF" width="120">用户名</td>
        <td bgcolor="#FFFFFF" width="223">密码</td>
      </tr>
      <foreach name='select' item='user' >
        <tr class="content">
          <td bgcolor="#FFFFFF"> {$user.id}</td>
          <td bgcolor="#FFFFFF"> {$user.account}</td>
          <td bgcolor="#FFFFFF"> {$user.pwd}</td>
        </tr>
      </foreach>
      <tr class="content">
        <!--<td colspan="3" bgcolor="#FFFFFF"> {$page}</td>-->
        <td colspan="3" bgcolor="#FFFFFF"><div class="pages">
            {$page}
        </div></td> 
      </tr>
    </table>
  </body>
</html>

其中设置分页的样式mypage.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;
}

这样就可以了。

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

PHP 相关文章推荐
PHP 高手之路(一)
Oct 09 PHP
PHP取得一个类的属性和方法的实现代码
May 22 PHP
php cli 小技巧
Jun 03 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
ThinkPHP3.1查询语言详解
Jun 19 PHP
php截取中文字符串函数实例
Feb 23 PHP
php实现用于验证所有类型的信用卡类
Mar 24 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
PHP会话处理的10个函数
Aug 11 PHP
Yii2中添加全局函数的方法分析
May 04 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 PHP
详解php中流行的rpc框架
May 29 PHP
thinkphp3.2.3 分页代码分享
Jul 28 #PHP
php实现带读写分离功能的MySQL类完整实例
Jul 28 #PHP
PHP实现带重试功能的curl连接示例
Jul 28 #PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 #PHP
php倒计时出现-0情况的解决方法
Jul 28 #PHP
24条货真价实的PHP代码优化技巧
Jul 28 #PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 #PHP
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
php利用curl抓取新浪微博内容示例
2014/04/27 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
laravel 解决后端无法获取到前端Post过来的值问题
2019/10/22 PHP
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
详解JavaScript的流程控制语句
2015/11/30 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
jsonp跨域请求详解
2017/07/13 Javascript
详解Vue2.0配置mint-ui踩过的那些坑
2018/04/23 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
浅谈Fetch 数据交互方式
2018/12/20 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
python求pi的方法
2014/10/08 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
python 使用matplotlib 实现从文件中读取x,y坐标的可视化方法
2019/07/04 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
Django如何使用redis作为缓存
2020/05/21 Python
python爬虫判断招聘信息是否存在的实例代码
2020/11/20 Python
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
英国高街电视:High Street TV
2018/05/22 全球购物
印度在线购物网站:Paytmmall
2019/07/24 全球购物
求职信的要素有哪些呢
2013/12/26 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
班级光棍节联谊会策划书
2014/10/10 职场文书
律师函格式范本
2015/05/27 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书