对于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();
  $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中显示 

<!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: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 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',
 ))

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Devmax。

thinkphp3.2.3 分页代码分享的更多相关文章

  1. ios – UIScrollView的平滑自定义分页

    我在UIScrollView中有两个(可能更多)视图,并希望使用分页.当我尝试使用UIScrollView的默认分页选项时出现问题,因为视图具有不同的宽度,无法正确分页.所以我已经实现了一个有效的自定义分页代码.但是,当滚动较慢时,它不会按预期运行.(它回到没有动画的原始位置.)以下是我目前通过uiscrollviewdelegate进行自定义分页的方法我想要的是:是)我有的:解决方法尝试下面的自

  2. ios – 使用子视图控制器分页滚动视图

    使用分页实现水平滚动视图的最佳做法是什么,每页有一个视图控制器?由于iOS5具有用于视图控制器容器/包含的API,因此PageControl示例仍然是实现此功能的最佳方式吗?

  3. 可可触摸 – 启用预览和分页的UICollectionView

    在AppStore中显示搜索结果时,我正在尝试模仿苹果公司的功能.(参考:http://searchengineland.com/apple-app-search-shows-only-one-result-at-a-time-133818)它显示像卡中的详细应用程序信息,并且它被分页.当中间的一个活动卡片和滚动视图的分页行为仍然完整时,我被困在如何使上一张和第二张卡片显示.我已经尝试使用UICo

  4. 从iOS应用程序发送帖子到PHP脚本不工作…简单的解决方案就像

    我之前已经做了好几次了但是由于某些原因我无法通过这个帖子…我尝试了设置为_POST且没有的变量的PHP脚本……当它们未设置为发布时它工作精细.这是我的iOS代码:这里是PHP的一大块,POST变量不在正确的位置?我想这对于更有经验的开发人员来说是一个相当简单的答案,感谢您的帮助!解决方法$_POST是一个数组,而不是一个函数.您需要使用方括号来访问数组索引:

  5. ios – 启用了内容插入的UIScrollView分页工作很奇怪

    我创建了具有内容插入的UIScrollView.第一次,scrollView.contentOffset.x为-160.0但是奇怪的问题是当我点击scrollView(黄色区域)时,内容偏移x值将重置为0并显示为这样.我尝试过几次,但是点击滚动视图会将内容偏移量重置为0.我该如何防止这种情况?解决方法UIScrollView分页通过滚动与scrollView宽度相同的页面(在您的情况下为480个宽

  6. UIKit框架-高级控件Swift版本: 10.UIWebView方法/属性详解

    前面我们已经讲解完了UINavigationController的一些常用属性以及方法,现在让我们来看看一个关于网络的UIWebView.1.UIWebView的常用属性常用类型2.UIWebView的代理方法3.代码示范首先我们要使用storyBoard布局界面关联控件遵守代理协议自定义UIWebVIew实现代理方法在ViewDidLoad方法中实现PS:UIWebView继承与UIView,并

  7. swift学习2 元组 tuples

    swift中出现了一种新的数据结构,非常牛掰的元组tuples如果懂PHP的猿,会发现这个元组和PHP的数组非常类似,同样是可以默认不指定key,也可以指定key目前的学习疑问是,如何进行元组的遍历?

  8. swift+storyboard+UIImageview入门

    更新记录:该Storyboard教程由CarolineBegbie更新iOS8和Swift相关内容。Storyboard是最先在iOS5引入的一项振奋人心的特性,大幅缩减构建App用户界面所需的时间。要介绍Storyboard是什么,我打算从这张图讲起。这就是使用Storyboard的力量。Storyboard通过新的原型表项和静态表项特性,让处理表视图的工作更加轻松。Storyboard使自动布局更易用。接下来我们看一下Storyboard,点击项目浏览器中的Main.storyboard就可以在Int

  9. 尝试使用swift mailer,gmail smtp,php发送邮件

    这里是我的代码:在运行时出现此错误…

  10. 使用RxSwift进行分页API调用

    如何实现这一点的任何建议将非常感谢…

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部