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

#1 tealin

一、控制器中的代码:


class donate extends spController
{
        function index(){
        $lib_donate = spClass("lib_donate");
        $this->results = $lib_donate->spPager($this->spArgs("page",1),10)->findAll($conditions = null, $sort="id desc");
        $pager=$lib_donate->spPager()->getPager();
        //dump($pager);
        $this->pager=$pager;
        $this->c=$this->spArgs("c");
        $this->a=$this->spArgs("a");
        $this->display("donate/show.html");
        
        }
?>




二、视图中的代码
{if $pager}
     共有记录{$pager.total_count}条,共有{$pager.total_page}页(每页{$pager.page_size}条):
     {$max_page=10}
     
     
     {$start_page=floor($pager.current_page/$max_page)*$pager.page_size+1}
     {if ($start_page+$max_page)<=$pager.total_page}
        {$end_page=$start_page+$max_page-1}
     {else}
        {$end_page=$pager.total_page}
     {/if}
        {if $start_page <= 1 and $pager.current_page <= 1 }
           首 |
           « |         
        {elseif $pager.current_page > 1 and $pager.total_page <= $max_page}
            |
           « |            
        {else}
            |  
           « |
           -{$max_page} |  
        {/if}
         
        {foreach from = $pager.all_pages item = thepage}        
            {if $thepage <= $end_page and $thepage >= $start_page}  
                {if $thepage == $pager.current_page}
                    {$thepage} |
                {else}
                    {$thepage} |                  
                {/if}
             {/if}
        {/foreach}
        {if $end_page == $pager.total_page }
            {if $pager.current_page == $pager.last_page}
               » |  
               尾 |
            {else}
               » |  
                |
            {/if}
        {else}
           +{$max_page} |  
           » |  
            |
        {/if}
{/if}


2014-04-15 19:39:18

#2 tealin

效果图预览
66.png

美化后的效果图预览:
44.png

2014-04-15 19:55:55

#3 tealin

代码有点问题,更新如下:

{if $pager}
     共有记录{$pager.total_count}条,共有{$pager.total_page}页(每页{$pager.page_size}条):
     {$max_page=10}
     
     
    {if $pager.current_page%$max_page ==0}
        {$start_page=floor($pager.current_page/$max_page)*$max_page+1-$max_page}
     {else}
        {$start_page=floor($pager.current_page/$max_page)*$max_page+1}
     {/if}     
     {if ($start_page+$max_page)<=$pager.total_page}
        {$end_page=$start_page+$max_page-1}
     {else}
        {$end_page=$pager.total_page}
     {/if}
        {if $start_page <= 1 and $pager.current_page <= 1 }
           首 |
           « |         
        {elseif $pager.current_page > 1 and $pager.total_page <= $max_page}
            |
           « |
        {elseif  $pager.current_page > 1 and $pager.current_page<=$max_page}
            |
           « |
        {else}
            |  
           « |
           -{$max_page} |  
        {/if}
         
        {foreach from = $pager.all_pages item = thepage}        
            {if $thepage <= $end_page and $thepage >= $start_page}  
                {if $thepage == $pager.current_page}
                    {$thepage} |
                {else}
                    {$thepage} |                  
                {/if}
             {/if}
        {/foreach}
        {if $end_page == $pager.total_page }
            {if $pager.current_page == $pager.last_page}
               » |  
               尾 |
            {else}
               » |  
                |
            {/if}
        {else}
           +{$max_page} |  
           » |  
            |
        {/if}
{/if}



2014-04-15 21:44:58

#4 jake

{:soso_e179:}

2014-04-15 22:16:01

#5 dongfan

看起来相当的漂亮哦,感谢分享

2014-04-28 12:27:20

#6 tphpn

光这个代码应该不行,还有CSS代码吧

2014-05-06 17:05:59