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中文分词的简单实现代码分享
Jul 17 PHP
PHP性能优化 产生高度优化代码
Jul 22 PHP
简单的php新闻发布系统教程
May 09 PHP
php实现mysql事务处理的方法
Dec 25 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
PHP 接入支付宝即时到账功能
Sep 18 PHP
PHP递归获取目录内所有文件的实现方法
Nov 01 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
May 23 PHP
Yii 框架使用数据库(databases)的方法示例
May 19 PHP
PHP文件操作简单介绍及函数汇总
Dec 11 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
深入apache host的配置详解
2013/06/09 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
Yii2实现增删改查后留在当前页的方法详解
2017/01/13 PHP
Javascript基础教程之for循环
2015/01/18 Javascript
jQuery获得document和window对象宽度和高度的方法
2015/03/25 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
javascript模拟C#格式化字符串
2015/08/26 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
jquery实现移动端点击图片查看大图特效
2020/09/11 Javascript
javascript实现平滑无缝滚动
2020/08/09 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
JS 拦截全局ajax请求实例解析
2016/11/29 Javascript
vue组件中的数据传递方法
2018/05/14 Javascript
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
浅析vue插槽和作用域插槽的理解
2019/04/22 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
2019/11/07 Javascript
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python中正则表达式的用法总结
2019/02/22 Python
pytest中文文档之编写断言
2019/09/12 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
如何用python免费看美剧
2020/08/11 Python
如何利用python正则表达式匹配版本信息
2020/12/09 Python
详解pandas映射与数据转换
2021/01/22 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
超市实习总结自我鉴定
2013/09/19 职场文书
医药营销个人求职信
2014/04/12 职场文书
贷款委托书
2014/08/01 职场文书
2014年最新个人对照检查材料范文
2014/09/25 职场文书
运动会报道稿300字
2014/10/02 职场文书
Python语言中的数据类型-序列
2022/02/24 Python
python内置模块之上下文管理contextlib
2022/06/14 Python
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL