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中使用Oracle数据库(1)
Oct 09 PHP
Cannot modify header information错误解决方法
Oct 08 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
Jul 03 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
php中文验证码实现示例分享
Jan 12 PHP
PHP的password_hash()使用实例
Mar 17 PHP
PHP循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
May 10 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
php对象工厂类完整示例
Aug 09 PHP
详解PHP PDO简单教程
May 28 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
js 图片随机不定向浮动的实现代码
2013/07/02 Javascript
Js操作Select大全(取值、设置选中等等)
2013/10/29 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
Bootstrap基本样式学习笔记之按钮(4)
2016/12/07 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
vue仿element实现分页器效果
2018/09/13 Javascript
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
基于JavaScript实现简单扫雷游戏
2021/01/02 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
解决python中os.listdir()函数读取文件夹下文件的乱序和排序问题
2018/10/17 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
python-web根据元素属性进行定位的方法
2019/12/13 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python中random模块常用方法的使用教程
2020/10/04 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
JSP和EJB可以共享HttpSession么?EJB里面可以改变session里面的内容
2013/06/05 面试题
中专毕业生自我鉴定范文
2013/11/09 职场文书
机关保密承诺书
2014/06/03 职场文书
关于车尾的标语大全
2015/08/11 职场文书
高中政治教学反思
2016/02/23 职场文书
工作简历的自我评价
2019/05/16 职场文书
Spring Bean是如何初始化的详解
2022/03/22 Java/Android