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注释实例技巧
Oct 03 PHP
php URL编码解码函数代码
Mar 10 PHP
PHP 一个比较完善的简单文件上传
Mar 25 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
Sep 09 PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 PHP
php地址引用(php地址引用的效率问题)
Mar 23 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
PHP中spl_autoload_register()和__autoload()区别分析
May 10 PHP
php实现curl模拟ftp上传的方法
Jul 29 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 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快递单号查询接口使用示例
2014/05/05 PHP
php检测文本的编码
2015/07/26 PHP
PHP实现的无限分类类库定义与用法示例【基于thinkPHP】
2018/08/06 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
多个js与css文件的合并方法详细说明
2012/12/26 Javascript
jQuery实现文本框输入同步的方法
2015/06/20 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
jQuery zTree树插件动态加载实例代码
2017/05/11 jQuery
浅谈angular2路由预加载策略
2017/10/04 Javascript
webpack配置proxyTable时pathRewrite无效的解决方法
2018/12/13 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
Js on及addEventListener原理用法区别解析
2020/07/11 Javascript
解决Vue项目中tff报错的问题
2020/10/21 Javascript
jquery实现点击左右按钮切换图片
2021/01/27 jQuery
python批量下载图片的三种方法
2013/04/22 Python
实例讲解Python编程中@property装饰器的用法
2016/06/20 Python
Python编程实现从字典中提取子集的方法分析
2018/02/09 Python
python 用lambda函数替换for循环的方法
2018/06/09 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
python实现单链表的方法示例
2019/09/03 Python
浅谈tensorflow中张量的提取值和赋值
2020/01/19 Python
Spy++的使用方法及下载教程
2021/01/29 Python
HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例
2016/02/28 HTML / CSS
美国网上花店:JustFlowers
2017/02/12 全球购物
素食餐饮项目创业计划书
2014/02/02 职场文书
党员批评与自我批评
2014/02/12 职场文书
科技之星事迹材料
2014/06/02 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
纪念九一八事变83周年国旗下讲话稿
2014/09/15 职场文书
杭州黄龙洞导游词
2015/02/10 职场文书