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边学边教》(02.Apache+PHP环境配置――上篇)
Dec 13 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
PHP排序算法的复习和总结
Feb 15 PHP
PHP的简易冒泡法代码分享
Aug 28 PHP
header跳转和include包含问题详解
Sep 08 PHP
基于PHP创建Cookie数组的详解
Jul 03 PHP
PHP对象递归引用造成内存泄漏分析
Aug 28 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php实时倒计时功能实现方法详解
Feb 27 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
详解php与ethereum客户端交互
Apr 28 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批量生成随机用户名
2008/07/10 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
Yii+upload实现AJAX上传图片的方法
2016/07/13 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
cnblogs TagCloud基于jquery的实现代码
2010/06/11 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
高亮显示web页表格行的javascript代码
2010/11/19 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
javascript验证身份证号
2015/03/03 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
JS实现获取汉字首字母拼音、全拼音及混拼音的方法
2017/11/14 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
2019/04/10 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
Element Input输入框的使用方法
2020/07/26 Javascript
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python AES加密实例解析
2018/01/18 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
2019/10/14 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
终于搞懂了Keras中multiloss的对应关系介绍
2020/06/22 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
加拿大约会网站:EliteSingles.ca
2018/01/12 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
教师党性分析材料
2014/02/04 职场文书
优秀三好学生事迹材料
2014/08/31 职场文书
小学老师对学生的评语
2014/12/29 职场文书
承诺书范本
2015/01/21 职场文书
2016年敬老月活动总结
2016/04/05 职场文书
攻击最高的10只幽灵系神奇宝贝,坚盾剑怪排第一,第五最为可怕
2022/03/18 日漫
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL