文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Kohana之分页使用

Kohana之分页使用

时间:2010-08-21  来源:liushan

实现了__set和__get方法,保护私有数据

设置查询的方法及查询的KEY
$current_page;

例:array('source' => 'query_string', 'key' => 'page'),

//返回当前页码

 

总项目数
$total_items;

例:500

返回数值

 

每页显示多少个项目
$items_per_page;

例:60

返回数值

 

取得总页数
$total_pages;

例:echo $pag->total_pages;//9

返回数值

 

当前页的第一个记录的开始数
$current_first_item;

返回数值

 

当前页的第一个记录的结束数
$current_last_item;

返回数值

 

上一页页号;返回假说明是第一页
$previous_page;

返回数值

 

下一页数目; 返回假说明是最后一页
$next_page;

返回数值

 

第一页的数字; 如果是当前是第一页则不返回
$first_page;

返回数值

 

最后一页的数字,如果是最后一页则不返回
$last_page; .

返回数值

 

查询的开始项,等于相当于开始项减一
$offset;

例:如果当前是第二页,第一条记录为10,那么他将是9

返回数值

 

方法:

使用实例来解释咯:

<?php
$pag=Pagination::factory();//取得一个分页
$config=$pag->config_group("good");//取得配置
$pag->setup($config);//设置配置
$pag->total_items=500;//设置总页数
echo $pag->valid_page(2);//检验分页是否在列表内,返回真假
echo $pag->url(2);//取得第几页的链接
echo $pag->render();//渲染分页

呵呵,搭上配置文件配置方法:

<?php defined('SYSPATH') or die('No direct script access.');

return array(
        'good' => array(
                   //current_page 设置链接方式
                'current_page'   => array('source' => 'query_string', 'key' => 'page'), // 
                'total_items'    => 0,
                'items_per_page' => 100,
                'view'           => 'pagination/basic',//对应的视图,下面介绍咯
                'auto_hide'      => TRUE,
        ),

);
 
视图配置
这个是这个类的关键啦.呵呵
Kohana默认会先从application查找文件,所以,我们的视图上建立在自己的views里面的,
保证了不用修改它框架的实现扩充自己的功能
那我们就在views里面建立一个pagination文件夹
并建立我们上面用到的视图basic吧
里面的内容是拷贝的内容,你也可以拷贝pagination\views\pagination\basic.php,在自己修改咯
附上代码:
<p class="pagination">

        <?php if ($first_page !== FALSE): ?>
                <a href="<?php echo $page->url($first_page) ?>" rel="first"><?php echo __('First') ?></a>
        <?php else: ?>
                <?php echo __('First') ?>
        <?php endif ?>

        <?php if ($previous_page !== FALSE): ?>
                <a href="<?php echo $page->url($previous_page) ?>" rel="prev"><?php echo __('Previous') ?></a>
        <?php else: ?>
                <?php echo __('Previous') ?>
        <?php endif ?>

        <?php for ($i = 1; $i <= $total_pages; $i++): ?>

                <?php if ($i == $current_page): ?>
                        <strong><?php echo $i ?></strong>
                <?php else: ?>
                        <a href="<?php echo $page->url($i) ?>"><?php echo $i ?></a>
                <?php endif ?>

        <?php endfor ?>

        <?php if ($next_page !== FALSE): ?>
                <a href="<?php echo $page->url($next_page) ?>" rel="next"><?php echo __('Next') ?></a>
        <?php else: ?>
                <?php echo __('Next') ?>
        <?php endif ?>

        <?php if ($last_page !== FALSE): ?>
                <a href="<?php echo $page->url($last_page) ?>" rel="last"><?php echo __('Last') ?></a>
        <?php else: ?>
                <?php echo __('Last') ?>
        <?php endif ?>

</p><!-- .pagination -->

里面还可以使用__(),实现I18N,呵呵.
里面涉及的变量,函数.最最上面有提示,自己看啦~  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载