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

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 2767|回复: 5

好好的分页代码可在此基础上修改很漂亮的版本

  [复制链接]
发表于 2014-4-15 19:39:18 | 显示全部楼层 |阅读模式
一、控制器中的代码:
  1. <p>
  2. </p><p><?php
  3. class donate extends spController
  4. {
  5.         function index(){
  6.         $lib_donate = spClass("lib_donate");
  7.         $this->results = $lib_donate->spPager($this->spArgs("page",1),10)->findAll($conditions = null, $sort="id desc");
  8.         $pager=$lib_donate->spPager()->getPager();
  9.         //dump($pager);
  10.         $this->pager=$pager;
  11.         $this->c=$this->spArgs("c");
  12.         $this->a=$this->spArgs("a");
  13.         $this->display("donate/show.html");
  14.         
  15.         }
  16. ?></p>
复制代码



二、视图中的代码
  1. {if $pager}
  2.      共有记录{$pager.total_count}条,共有{$pager.total_page}页(每页{$pager.page_size}条):
  3.      {$max_page=10}
  4.      <!--每页最大页码数-->
  5.      <!--开始及结束页码-->
  6.      {$start_page=floor($pager.current_page/$max_page)*$pager.page_size+1}
  7.      {if ($start_page+$max_page)<=$pager.total_page}
  8.         {$end_page=$start_page+$max_page-1}
  9.      {else}
  10.         {$end_page=$pager.total_page}
  11.      {/if}
  12.         {if $start_page <= 1 and $pager.current_page <= 1 }
  13.            首 |
  14.            « |         
  15.         {elseif $pager.current_page > 1 and $pager.total_page <= $max_page}
  16.            <a href="{spUrl c=$c a=$a page=$pager.first_page}#pl">首</a> |
  17.            <a href="{spUrl c=$c a=$a page=$pager.prev_page}#pl">«</a> |            
  18.         {else}
  19.            <a href="{spUrl c=$c a=$a page=$pager.first_page}#pl">首</a> |  
  20.            <a href="{spUrl c=$c a=$a page=$pager.prev_page}#pl">«</a> |
  21.            <a href="{spUrl c=$c a=$a page=$pager.current_page-$max_page}#pl">-{$max_page}</a> |  
  22.         {/if}
  23.          <!--开始循环页码,同时如果循环到当前页设置属性为active-->
  24.         {foreach from = $pager.all_pages item = thepage}        
  25.             {if $thepage <= $end_page and $thepage >= $start_page}  
  26.                 {if $thepage == $pager.current_page}
  27.                     <b>{$thepage}</b> |
  28.                 {else}
  29.                     <a href="{spUrl c=$c a=$a page=$thepage}#pl">{$thepage}</a> |                  
  30.                 {/if}
  31.              {/if}
  32.         {/foreach}
  33.         {if $end_page == $pager.total_page }
  34.             {if $pager.current_page == $pager.last_page}
  35.                » |  
  36.                尾 |
  37.             {else}
  38.                <a href="{spUrl c=$c a=$a page=$pager.next_page}#pl">»</a> |  
  39.                <a href="{spUrl c=$c a=$a page=$pager.last_page}#pl">尾</a> |
  40.             {/if}
  41.         {else}
  42.            <a href="{spUrl c=$c a=$a page=$pager.current_page+$max_page}#pl">+{$max_page}</a> |  
  43.            <a href="{spUrl c=$c a=$a page=$pager.next_page}#pl">»</a> |  
  44.            <a href="{spUrl c=$c a=$a page=$pager.last_page}#pl">尾</a> |
  45.         {/if}
  46. {/if}
复制代码


 楼主| 发表于 2014-4-15 19:55:55 | 显示全部楼层
效果图预览


美化后的效果图预览:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册成为新用户

x
 楼主| 发表于 2014-4-15 21:44:58 | 显示全部楼层
代码有点问题,更新如下:

  1. {if $pager}
  2.      共有记录{$pager.total_count}条,共有{$pager.total_page}页(每页{$pager.page_size}条):
  3.      {$max_page=10}
  4.      <!--每页最大页码数-->
  5.      <!--开始及结束页码-->
  6.     {if $pager.current_page%$max_page ==0}
  7.         {$start_page=floor($pager.current_page/$max_page)*$max_page+1-$max_page}
  8.      {else}
  9.         {$start_page=floor($pager.current_page/$max_page)*$max_page+1}
  10.      {/if}     
  11.      {if ($start_page+$max_page)<=$pager.total_page}
  12.         {$end_page=$start_page+$max_page-1}
  13.      {else}
  14.         {$end_page=$pager.total_page}
  15.      {/if}
  16.         {if $start_page <= 1 and $pager.current_page <= 1 }
  17.            首 |
  18.            « |         
  19.         {elseif $pager.current_page > 1 and $pager.total_page <= $max_page}
  20.            <a href="{spUrl c=$c a=$a page=$pager.first_page}#pl">首</a> |
  21.            <a href="{spUrl c=$c a=$a page=$pager.prev_page}#pl">«</a> |
  22.         {elseif  $pager.current_page > 1 and $pager.current_page<=$max_page}
  23.            <a href="{spUrl c=$c a=$a page=$pager.first_page}#pl">首</a> |
  24.            <a href="{spUrl c=$c a=$a page=$pager.prev_page}#pl">«</a> |
  25.         {else}
  26.            <a href="{spUrl c=$c a=$a page=$pager.first_page}#pl">首</a> |  
  27.            <a href="{spUrl c=$c a=$a page=$pager.prev_page}#pl">«</a> |
  28.            <a href="{spUrl c=$c a=$a page=$pager.current_page-$max_page}#pl">-{$max_page}</a> |  
  29.         {/if}
  30.          <!--开始循环页码,同时如果循环到当前页设置属性为active-->
  31.         {foreach from = $pager.all_pages item = thepage}        
  32.             {if $thepage <= $end_page and $thepage >= $start_page}  
  33.                 {if $thepage == $pager.current_page}
  34.                     <b>{$thepage}</b> |
  35.                 {else}
  36.                     <a href="{spUrl c=$c a=$a page=$thepage}#pl">{$thepage}</a> |                  
  37.                 {/if}
  38.              {/if}
  39.         {/foreach}
  40.         {if $end_page == $pager.total_page }
  41.             {if $pager.current_page == $pager.last_page}
  42.                » |  
  43.                尾 |
  44.             {else}
  45.                <a href="{spUrl c=$c a=$a page=$pager.next_page}#pl">»</a> |  
  46.                <a href="{spUrl c=$c a=$a page=$pager.last_page}#pl">尾</a> |
  47.             {/if}
  48.         {else}
  49.            <a href="{spUrl c=$c a=$a page=$pager.current_page+$max_page}#pl">+{$max_page}</a> |  
  50.            <a href="{spUrl c=$c a=$a page=$pager.next_page}#pl">»</a> |  
  51.            <a href="{spUrl c=$c a=$a page=$pager.last_page}#pl">尾</a> |
  52.         {/if}
  53. {/if}
复制代码



发表于 2014-4-15 22:16:01 | 显示全部楼层
{:soso_e179:}
发表于 2014-4-28 12:27:20 | 显示全部楼层
看起来相当的漂亮哦,感谢分享
发表于 2014-5-6 17:05:59 | 显示全部楼层
光这个代码应该不行,还有CSS代码吧
您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

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

GMT+8, 2019-12-14 09:48

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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