thinkphp分页实现

以上为我对于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>条记录 <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>幅图片 每页<b>'.$limit.'</b>幅 <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分页实现的更多相关文章
- ThinkPHP分页使用例子(二十一)
原文:ThinkPHP分页使用例子(二十一) ThinkPHP分页使用 PHP代码: public function fenye(){ $User = M('Leyangjun'); // 实例化Us ...
- ThinkPHP 分页功能梳理
最近在开发一个项目,使用了国内流行的ThinkPHP框架,我之前没怎么用过这个框架,也是临时抱佛脚,用的不怎么样?可能理解不是很深刻,如果有说的不对或不正确的地方,请大家多包涵,多指教. ThinkP ...
- ThinkPHP分页实例
ThinkPHP分页实例 (2014-09-20 15:34:36) 很多人初学thinkphp时,不太熟悉thinkphp的分页使用方法,现在将自己整理的分页方法分享下,有需要的朋友可以看看. ...
- thinkphp 分页类 url 编码处理
在做thinkphp分页的时候 thinkphp 中的分页 有一个小问题 就是 在有form 表单 搜索中文的时候,点击下一页的话 中文会被转换成编码. 如图: 最直接的方法就是 直接修改 thin ...
- thinkphp分页
thinkphp默认分页 html代码 <div class="f_r"> {$page} </div> 一:最简单的分页 $m = M('stock_lo ...
- ThinkPHP 分页类的使用及退出功能的实现
/* ThinkPHP设置编码统一: 一.数据库设置为utf8_bin 二.HTML页面设置charset=utf-8,而且检查文档编码格式是否是utf-8.phpDesigner8设置方式为“文件- ...
- ThinkPHP分页链接支持数组参数的办法
这几天在用ThinkPHP做系统,搜索页有个数组参数提交 <input class="params_t" name="t[]" type="ch ...
- 打造简单实用的Thinkphp分页样式(Bootstrap版本)
先吐槽一下ThinkPHP3.1版的分页样式,虽然看起来也很简单大方,但是所有的页码全是使用简单的数字,之间的空隙比较小,不大容易点,还有那个“前5页”和“后5页”显得有点多余,因为点击当前显示第一页 ...
- thinkphp分页格式的完全自定义,直接输入数字go到输入数字页
实现分页效果如下: 以下标注红色字体的为重点 找到文件page.class.php在ThinkPHP/Library/Thinkpage.class.php并打开文件,复制函数show,在本文件中 ...
随机推荐
- N个数字中随机取m个数子,不重复
<script> function rand_nums(min,max,count){ var arr = []; for(var i=min;i<max;i++){ arr.pus ...
- linux高级命令组合
ps -auxww | grep httpd 快速找到正在运行的apache服务安装目录 find / -path 'sina_app_v3*' 快速找到根目录下面的sina_app_v3目录 fi ...
- 【转】频点CTO张成:基于Cocos2d的MMORPG开发经验
http://www.9ria.com/plus/view.php?aid=27698 作者: zhiyuanzhe3 发表时间: 2013-06-29 17:46 6月29日,由9Tech社区.51 ...
- Tips: compilation and creating new projects on Android 4.0
If you have downloaded android 4.0, you should read the article. $ANDROID_ROOT/tools/android.bat is ...
- 关于Git的merge和rebase命令解析
git rebase是对提交执行变基的操作.即可以实现将指定范围的提交"嫁接"到另外一个提交智商. 其常用的命令格式有: 用法1:git rebase --onto <new ...
- Visual Studio 2015中的常用调试技巧分享
.NET 技术交流群:337901356 欢迎您的加入! 为什么要学习调试? 调试(Debug)是作为一个程序员必须要学会的东西,学会调试可以极大的提高开发效率,排错时间,很多人不喜欢调试,但我认为这 ...
- SQL Server 错误检测与修复
简介 在一个理想的世界中,不会存在任何数据库的损坏,就像我们不会将一些严重意外情况列入我们生活中的日常一样,而一旦这类事情发生,一定会对我们的生活造成非常显著的影响,在SQL Server中也同样如此 ...
- mac配置svn服务器
1创建svn库:mudydeMacBook-Air:~ mudy$ svnadmin create /Users/mudy/svn 2进行配置,配置我们的svn a.将svnsever.con ...
- CSS多行文字截断
有时候容器的宽度是固定的,但要显示的文字有点多,就需要将多余的文字隐藏,而且为了表示还有字没有显示,用省略号表示. 类似这样: 单行文字 单行文字截断比较明显: .truncate { width: ...
- 14_CXF发布REST服务
[rest服务] REST服务是一种软件架构模式,只是一种风格.REST服务采用HTTP做传输协议. REST对于HTTP的利用分为以下两种: 一.资源定位 REST要求对方资源定位更加准确,如下: ...