以上为我对于thinkphp分页的实现效果,两种方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法

1、在公共函数Application/Common/Common/function.php中书写:

function getpage($count,$pagesize=10) {
$page=new Think\Page($count,$pagesize);
$page->setConfig('header', '<li>共<b>%TOTAL_ROW%</b>条记录&nbsp;<b>%NOW_PAGE%</b>/<b>%TOTAL_PAGE%</b>页</li>');
$page->setConfig('prev', '上一页');
$page->setConfig('next', '下一页');
$page->setConfig('last', '末页');
$page->setConfig('first', '首页');
$page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
$page->lastSuffix=false;//最后一页不显示总页数
return $page;
}

在控制器PageController.class.php中调用

namespace Home\Controller;
use Think\Controller;
class PageController extends Controller {
public function index() {
$m=M('user');
$count=$m->count();
     $limit=8;
$page= getpage($count,$limit);//Common/function.php中分页
$list=$m->limit($page->firstRow,$page->listRows)->select();
     /**或$page1=I('p',0,'int');
        $list=$m->limit($page1,$limit)->select();*/
$this->assign('list',$list);//赋值数据集
$this->assign('page',$page->show());//赋值分页输出
$this->display();
}
}

在视图index/index.html中显示

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="__CSS__/page.css" rel="stylesheet" />
</head>
<body>
<div>
<volist name="list" id="vo">
<notemply name="$vo['name']">
用户名:<p>{$vo['name']}</p>
</notemply>
</volist>
<div>
<table>
<tr>
<td colspan="3" bgcolor="#FFFFFF">
<div class="pages">{$page} </div>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>

样式的书写page.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:;
}
.pages a:hover{
border-color:#50A8E6;
}
.pages span.current{
background:#50A8E6;
color:#FFF;
font-weight:;
border-color:#50A8E6;
}

2、在模板UserModel.class.php中书写分页函数

namespace Home\Model;
use Think\Model;
class UserModel extends Model {
public function getPage() {
$page=I('p',0,'int');
$limit=8;
$data=$this->page($page,$limit)->select();
$count= $this->count();
$Page=new \Think\Page($count, $limit); $Page->lastSuffix=false;//是否显示总页数
$Page->setConfig('header','<li>共<b>%TOTAL_ROW%</b>幅图片&nbsp;&nbsp;每页<b>'.$limit.'</b>幅&nbsp;&nbsp;<b>%NOW_PAGE%</b>/<b>%TOTAL_PAGE%</b>页</li>');
$Page->setConfig('prev','上一页');
$Page->setConfig('next','下一页');
$Page->setConfig('last','末页');
$Page->setConfig('first','首页');
$Page->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$show=$Page->show();
return array('list'=>$data,'page'=>$show);
}
}

控制器PageController.class.php中调用

namespace Home\Controller;
use Think\Controller;
class PageController extends Controller {
public function index() {
$m=D('Upload_img');
$list=$m->getPage();//model中分页
$this->assign('list',$list);//赋值数据集
$this->display();
}
}

视图显示index/index.html

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="__CSS__/page.css" rel="stylesheet" />
</head>
<body>
<div>
<volist name="list.list" id="vo">
<notemply name="$vo['name']">
用户名:<p>{$vo['name']}
</notemply>
</volist>
<div>
<table>
<tr>
<td colspan="3" bgcolor="#FFFFFF">
<div class="pages">{$list.page} </div>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>

分页的样式与第1中公共方法中page.css中样式相同

以上<link href="__CSS__/page.css" rel="stylesheet" />引用文件常量"__CSS__"在公共配置文件中配置:

return array(
  'TMPL_PARSE_STRING'=>array(
'__CSS__'=>__ROOT__.'/Public/Css',
)
)

thinkphp分页实现的更多相关文章

  1. ThinkPHP分页使用例子(二十一)

    原文:ThinkPHP分页使用例子(二十一) ThinkPHP分页使用 PHP代码: public function fenye(){ $User = M('Leyangjun'); // 实例化Us ...

  2. ThinkPHP 分页功能梳理

    最近在开发一个项目,使用了国内流行的ThinkPHP框架,我之前没怎么用过这个框架,也是临时抱佛脚,用的不怎么样?可能理解不是很深刻,如果有说的不对或不正确的地方,请大家多包涵,多指教. ThinkP ...

  3. ThinkPHP分页实例

    ThinkPHP分页实例 (2014-09-20 15:34:36)   很多人初学thinkphp时,不太熟悉thinkphp的分页使用方法,现在将自己整理的分页方法分享下,有需要的朋友可以看看. ...

  4. thinkphp 分页类 url 编码处理

    在做thinkphp分页的时候  thinkphp 中的分页 有一个小问题 就是 在有form 表单 搜索中文的时候,点击下一页的话 中文会被转换成编码. 如图: 最直接的方法就是 直接修改 thin ...

  5. thinkphp分页

    thinkphp默认分页 html代码 <div class="f_r"> {$page} </div> 一:最简单的分页 $m = M('stock_lo ...

  6. ThinkPHP 分页类的使用及退出功能的实现

    /* ThinkPHP设置编码统一: 一.数据库设置为utf8_bin 二.HTML页面设置charset=utf-8,而且检查文档编码格式是否是utf-8.phpDesigner8设置方式为“文件- ...

  7. ThinkPHP分页链接支持数组参数的办法

    这几天在用ThinkPHP做系统,搜索页有个数组参数提交 <input class="params_t" name="t[]" type="ch ...

  8. 打造简单实用的Thinkphp分页样式(Bootstrap版本)

    先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页 ...

  9. thinkphp分页格式的完全自定义,直接输入数字go到输入数字页

    实现分页效果如下: 以下标注红色字体的为重点   找到文件page.class.php在ThinkPHP/Library/Thinkpage.class.php并打开文件,复制函数show,在本文件中 ...

随机推荐

  1. ios十进制、十六进制字符串,byte,data等之间的转换

    十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL  = [NSStringstringWithFormat:@"%@& ...

  2. 04---XML编程整理

    一.XML概述       XML(eXtensible Markup Language),可扩展标记语言,       被设计的宗旨是传输数据,而非显示数据       W3C发布的,目前遵循1.0 ...

  3. 正则匹配ab不匹配aab

    var a = "aababaabababababaab"; a.replace(/(^|[^a])(ab)+/g, "$1"); var a = " ...

  4. LINUX怎么远程连接ORACLE数据库

    A电脑装了ORACLE客户端,B是ORACLE服务器,都在LINUX环境下,请问A电脑怎么访问B上的数据库?该怎么改配置?求高手解答,越详细越好 很简单,你在A电脑安装一个ORACLE 客户端,然后, ...

  5. highcharts js报表工具(报表插件)

    highcharts报表工具(报表插件.图表工具) highcharts效果在线演示(可查看源代码):  http://www.hcharts.cn/demo/index.php?p=56 Highc ...

  6. 如何去除掉inline-block元素之间的默认间距

    前几天写一个页面 div{width:900px;} div li{ display:inline-block; width:300px;} <ul> <li></li& ...

  7. JS类型(2)_JS学习笔记(2016.10.02)

    undefined undefined是全局对象(window)的一个特殊属性,其值是未定义的.但 typeof undefined 返回 'undefined' . 虽然undefined是有特殊含 ...

  8. OC中-数组是如何遍历的?

    #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSAutoreleasePool ...

  9. 关于Spring中AOP的理解

    AOP简介[理解][重点] 1.AOP(Aspect Oriented Programing)面向切面/方面编程 2.AOP隶属软件工程的范畴,指导开发人员如何制作开发软件,进行结构设计 3.AOP联 ...

  10. [转载]Ubuntu 14.04设置固定ip

    参考链接: ubuntu14.04设置静态ip Ubuntu10.10的网络配置 (总结的比较好些) 由于我的虚拟机中的Ubuntu 14.04中,只安装了一个gitlab,gitlab中配置了固定i ...