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中调用JAVA
Oct 09 PHP
PHP的FTP学习(一)[转自奥索]
Oct 09 PHP
php addslashes 函数详细分析说明
Jun 23 PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
PHP 获取MySQL数据库里所有表的实现代码
Jul 13 PHP
php中判断文件存在是用file_exists还是is_file的整理
Sep 12 PHP
深入分析php中接口与抽象类的区别
Jun 08 PHP
PHP临时文件的安全性分析
Jul 04 PHP
使用GD库生成带阴影文字的图片
Mar 27 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
PHP读取大文件末尾N行的高效方法推荐
Jun 03 PHP
PHP字符串中抽取子串操作实例分析
Jun 22 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读取超大文件的实例代码
2012/04/01 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
node.js解决获取图片真实文件类型的问题
2014/12/20 Javascript
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
javascript每日必学之封装
2016/02/23 Javascript
JS操作COOKIE实现备忘记录的方法
2016/04/01 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
JavaScript判断对象和数组的两种方法
2019/05/31 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
JavaScript canvas绘制圆弧与圆形
2020/02/18 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
vue el-upload上传文件的示例代码
2020/12/21 Vue.js
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python解惑之整数比较详解
2017/04/24 Python
python构建深度神经网络(DNN)
2018/03/10 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
python binascii 进制转换实例
2019/06/12 Python
关于初始种子自动选取的区域生长实例(python+opencv)
2020/01/16 Python
对python中return与yield的区别详解
2020/03/12 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
Linux的文件类型
2012/03/07 面试题
GWT的应用有哪两种部署模式
2012/12/21 面试题
运动会广播稿100字
2014/01/11 职场文书
书香家庭事迹材料
2014/05/09 职场文书
邹越演讲观后感
2015/06/15 职场文书