请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 6963|回复: 0

[数据操作] 分页在模板中的显示

[复制链接]
发表于 2012-8-4 16:39:23 | 显示全部楼层 |阅读模式
好了,下面我们来使用上文的这些分页数据。
  1. Array
  2. (
  3.     [total_count] => 13  // 数据总记录
  4.     [page_size] => 5    // 每页多少条记录
  5.         [total_page] => 3    // 总页数
  6.     [first_page] => 1     // 第一页的页码
  7.     [prev_page] => 1     // 上一页的页码
  8.     [next_page] => 2     // 下一页的页码
  9.     [last_page] => 3      // 最后一页的页码
  10.     [current_page] => 1   // 当前页码
  11.     [all_pages] => Array   // 页码数据,这里是全部的页码
  12.         (
  13.             [0] => 1
  14.             [1] => 2
  15.             [2] => 3
  16.         )
  17. )
复制代码
刚才我们已经将分页数据输入到$this->pager上面去了。我们在smarty模板中:
  1. <{if $pager}>
  2. 共有留言<{$pager.total_count}>条,共有<{$pager.total_page}>页(每页<{$pager.page_size}>条留言):
  3. <!--在当前页不是第一页的时候,显示前页和上一页-->
  4. <{if $pager.current_page != $pager.first_page}>
  5. <a href="<{spUrl c=main a=index page=$pager.first_page}>">前页</a> |
  6. <a href="<{spUrl c=main a=index page=$pager.prev_page}>">上一页</a> |
  7. <{/if}>
  8. <!--开始循环页码,同时如果循环到当前页则不显示链接-->
  9. <{foreach from=$pager.all_pages item=thepage}>
  10.         <{if $thepage != $pager.current_page}>
  11.                 <a href="<{spUrl c=main a=index page=$thepage}>"><{$thepage}></a>
  12.         <{else}>
  13.                 <b><{$thepage}></b>
  14.         <{/if}>
  15. <{/foreach}>
  16. <!--在当前页不是最后一页的时候,显示下一页和后页-->
  17. <{if $pager.current_page != $pager.last_page}>
  18. |
  19. <a href="<{spUrl c=main a=index page=$pager.next_page}>">下一页</a> |
  20. <a href="<{spUrl c=main a=index page=$pager.last_page}>">后页</a>
  21. <{/if}>
  22. <{/if}>
复制代码
显示的效果是:

thepager1[1].jpg
这里详细说明一下,首先我们是判断是否存在分页数据,在数据记录数小于页面大小的时候,分页数据将不显示。
  1. <{if $pager}>
复制代码
然后来显示了一些分页的数据:
  1. 共有留言<{$pager.total_count}>条,共有<{$pager.total_page}>页(每页<{$pager.page_size}>条留言):
复制代码
接着使用了判断是否是第一页,是就不会显示“前页”和“上一页”

thepager2[1].jpg
然后是循环显示页码
  1. <{foreach from=$pager.all_pages item=thepage}>
  2.         <{if $thepage != $pager.current_page}>
  3.                 <a href="<{spUrl c=main a=index page=$thepage}>"><{$thepage}></a>
  4.         <{else}>
  5.                 <b><{$thepage}></b>
  6.         <{/if}>
  7. <{/foreach}>
复制代码

请注意这里的spUrl的写法,<{spUrl c=main a=index page=$thepage}> 最后的page是输入到程序中的页码,它将被程序中的$this->spArgs('page', 1)获取。

最后是判断当前是否最后一页,不是的话,将显示“下一页”和“后页”

thepager3[1].jpg
这里我们看到了SpeedPHP的spPager分页程序的使用方法。在实际应用中,因为页面数据是经常会将这些smarty的显示作为标准的格式,在许多地方都能够重复地使用,极大提供开发效率。

您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-4-9 22:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表