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 session处理的定制
Mar 16 PHP
php 动态执行带有参数的类方法
Apr 10 PHP
php 生成饼图 三维饼图
Sep 28 PHP
Look And Say 序列php实现代码
May 22 PHP
PHP6 中可能会出现的新特性预览
Apr 04 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 PHP
简单解析PHP程序的运行流程
Jun 23 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
Mar 22 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
laravel框架实现后台登录、退出功能示例
Oct 31 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 smarty truncate UTF8乱码问题解决办法
2014/06/13 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
关于php 高并发解决的一点思路
2017/04/16 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
2017/06/28 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
2017/12/25 PHP
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
Js保留小数点的4种效果实现代码分享
2014/04/12 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
2020/11/25 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
JavaScript实现图片拖曳效果
2017/09/08 Javascript
jquery写出PC端轮播图实例
2018/01/26 jQuery
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
vuex入门最详细整理
2020/03/04 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python 类的私有属性和私有方法实例分析
2019/09/29 Python
windows支持哪个版本的python
2020/07/03 Python
CSS3贝塞尔曲线示例:创建链接悬停动画效果
2020/11/19 HTML / CSS
西班牙手机之家:Phone House
2018/10/18 全球购物
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
Carmen Sol官网:购买果冻鞋、手袋和配件
2021/01/01 全球购物
应用心理学个人求职信范文
2013/12/11 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
元旦晚会主持词
2014/03/24 职场文书
老人节标语大全
2014/10/08 职场文书
模范教师材料大全
2014/12/16 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS