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 清除网页病毒的方法
Dec 05 PHP
PHP的SQL注入过程分析
Jan 06 PHP
phpstrom使用xdebug配置方法
Dec 17 PHP
php+mysql实现数据库随机重排实例
Oct 17 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
Yii中使用PHPExcel导出Excel的方法
Dec 26 PHP
php实现通用的信用卡验证类
Mar 24 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
PHP Filter过滤器全面解析
Aug 09 PHP
PHP 中使用explode()函数切割字符串为数组的示例
May 06 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
laravel通过a标签从视图向控制器实现传值
Oct 15 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/03/15 PHP
PHP输出缓存ob系列函数详解
2014/03/11 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
thinkphp模板用法和内容输出实例
2014/11/28 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
高质量PHP代码的50个实用技巧必备(上)
2016/01/22 PHP
关于PHP通用返回值设置方法
2017/03/31 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
PHP基于面向对象实现的留言本功能实例
2018/04/04 PHP
跟我一起学写jQuery插件开发方法(附完整实例及下载)
2010/04/01 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
实现js保留小数点后N位的代码
2014/11/13 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
炫酷的js手风琴效果
2016/10/13 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
详解Vue.directive 自定义指令
2019/03/27 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
Vue实现简单的拖拽效果
2020/08/25 Javascript
Vuejs通过拖动改变元素宽度实现自适应
2020/09/02 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
2020/10/20 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
python登录QQ邮箱发信的实现代码
2013/02/10 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
2015/05/26 Python
Python坐标线性插值应用实现
2019/11/13 Python
Tensorflow分批量读取数据教程
2020/02/07 Python
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
html5 worker 实例(二) 图片变换效果
2013/06/24 HTML / CSS
Hotels.com爱尔兰:全球酒店预订
2017/02/24 全球购物
轻金属冶金专业毕业生自荐信
2013/11/02 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
2014财务年度工作总结
2014/11/11 职场文书
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
mybatis-plus模糊查询指定字段
2022/04/28 Java/Android