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,在本文件中 ...
随机推荐
- 【项目经验】如何用TexturePacker & Physicseditor开发游戏
首先感谢Andreas的license.先广告一下Andreas. ------------------------------------------------------------------ ...
- android学习日记15--WebView(网络视图)
一.WebView 1.简述 WebView(网络视图)内置WebKit引擎,能加载显示网页,还支持JS,并且能够在Android平台使用AJAXWebView可以在布局中声明,也可以在Activit ...
- 去掉html标签和空格等
<?php$str = '<span style="color:#f00;">good; world</span>';echo $str.'<b ...
- 使用Twisted进行socket编程
你的协议处理类通常是twisted.internet.protocol.Protocol的子类.许多协议处理继承于该类或者比该类更加方便的该类的子类.一个protocol类的实例可能反复连接,也可能在 ...
- DTCC2016
http://pan.baidu.com/share/home?uk=4043574767#category/type=0
- [原创]oracle 顺序号生成函数。仿Sequence
问题提出自项目中的老代码:一个Bill表,存储所有的表单信息,比如:员工入职单,离职单等等.(别喷,我知道要分多个表.但领导的意愿你是没办法违背的)表单的单据号是以四个字母+年月日+数字顺序号来表示. ...
- javascript笔记06:类的创建
1.创建一个javascript类---javascript使用函数形式构建类 <script type="text/javascript"> //定义一个类 ...
- Android打地鼠游戏源码带道具购买的Android游戏开发
这是一款基于安卓的打地鼠游戏,界面简洁,有level模式打地鼠和无尽模式打地鼠两种游戏模式,并可以通过商店使用金币进行道具的购买,道具可以让你更容易通关:同时金币可以在游戏通关的时候获取.工程中有较为 ...
- swift 定义类方法(type methed)
swift 中声明结构体或者枚举的类型方法,需要在func前加上关键字 ststic ,但是如果要定义一个类的类方法时,需要用关键字 class class SomeClass { class ...
- ASP伪静态页面(不需要通过iis+ISAPI_Rewrite)
很简单的教程,献给喜欢SEO的朋友们. 不需要通过iis+ISAPI_Rewrite做基于IIS的url rewrite 一.数据库很简单使用ACCESS,Data.mdb建立一个表Article,三 ...