对于thinkphp分页的实现效果,两种调用方法,一种调用公共函数中的函数方法(参考http://www.cnblogs.com/tianguook/p/4326613.html),一种是在模型中书写分页的方法
1、在公共函数Application/Common/Common/function.php中书写:
代码
- function getpage($count,$pagesize=10) {
- $page=new ThinkPage($count,$pagesize);
- $page->setConfig('header', '
- 共%TOTAL_ROW%条记录%NOW_PAGE%/%TOTAL_PAGE%页
');- $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 HomeController;
- use ThinkController;
- class PageController extends Controller {
- public function index() {
- $m=M('user');
- $count=$m->count();
- $page= getpage($count,8);//Common/function.php中分页
- $list=$m->limit($page->firstRow,$page->listRows)->select();
- $this->assign('list',$list);//赋值数据集
- $this->assign('page',$page->show());//赋值分页输出
- $this->display();
- }
- }
在视图index/index.html中显示
代码
- 用户名:
{$vo['name']}
{$page}
样式的书写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:0;
- }
- .pages a:hover{
- border-color:#50A8E6;
- }
- .pages span.current{
- background:#50A8E6;
- color:#FFF;
- font-weight:700;
- border-color:#50A8E6;
- }
2、在模板UserModel.class.php中书写分页函数
代码
- namespace HomeModel;
- use ThinkModel;
- 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 ThinkPage($count, $limit);
- $Page->lastSuffix=false;//是否显示总页数
- $Page->setConfig('header','
- 共%TOTAL_ROW%幅图片每页'.$limit.'幅%NOW_PAGE%/%TOTAL_PAGE%页
');- $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 HomeController;
- use ThinkController;
- class PageController extends Controller {
- public function index() {
- $m=D('Upload_img');
- $list=$m->getPage();//model中分页
- $this->assign('list',$list);//赋值数据集
- $this->display();
- }
- }
视图显示index/index.html
代码
- 用户名:
{$vo['name']}
{$list.page}
分页的样式与第1中公共方法中page.css中样式相同
以上引用文件常量"__CSS__"在公共配置文件中配置:
代码
- return array( 'TMPL_PARSE_STRING'=>array(
- '__CSS__'=>__ROOT__.'/Public/Css',
- ))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持全福编程网。