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 相关文章推荐
基于mysql的bbs设计(四)
Oct 09 PHP
一个捕获函数输出的函数
Feb 14 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 PHP
解析PHP的session过期设置
Jun 29 PHP
php5.3 注意事项说明
Jul 01 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
php获取网页上所有链接的方法
Apr 03 PHP
php简单获取复选框值的方法
May 11 PHP
XHProf报告字段含义的解析
May 17 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
php读取msn上的用户信息类
2008/12/05 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
初学JavaScript第二章
2008/09/30 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
2010/12/25 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
基于jquery的禁用右键、文本选择功能、复制按键的实现代码
2013/08/27 Javascript
jquery中trigger()无法触发hover事件的解决方法
2015/05/07 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
jquery实现拖动效果
2016/08/10 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
在vue里使用codemirror遇到的问题
2018/11/01 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
ES6中let、const的区别及变量的解构赋值操作方法实例分析
2019/10/15 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
微信小程序收藏功能的实现代码
2020/06/19 Javascript
详解Python中的多线程编程
2015/04/09 Python
Python实现图像几何变换
2015/07/06 Python
python机器学习之随机森林(七)
2018/03/26 Python
python3 mmh3安装及使用方法
2019/10/09 Python
Series和DataFrame使用简单入门
2019/11/13 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
西尔斯百货官网:Sears
2016/09/06 全球购物
HR喜欢的自荐信格式
2013/10/08 职场文书
机修工岗位职责
2013/11/24 职场文书
2014社区三八妇女节活动方案
2014/03/30 职场文书
和解协议书
2014/04/16 职场文书
导师工作推荐信范文
2014/05/17 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
2015年学校少先队工作总结
2015/07/20 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL