没有数据库的Yii中的分页

时间:2014-11-06 09:56:21

标签: php yii pagination

如何在内容中添加分页内容?例如:我有20次输出一些行,我可以如何分页。我尝试创建paginator并显示正确的页数,但在每个页面中我都看到了所有内容。

循环代码:

for ($i = 0; $i < 5; $i++) {
    $day = mktime(0, 0, 0, date('m'), date('d') - $i);
    $elems = ContentItem::dayNews($day);
    $test[] = $elems;
    if (count($elems)) {
        $date = Y::date_print($day, 'd-m-Y');
        $arr = explode('-', $date);
        ?>
        <div class="news_dhead">
            <?= Y::isToday($day) ? 'Today, ' : '' ?>
            <?= Y::isYesterday($day) ? 'Yesterday, ' : '' ?>
            <? echo $arr[0] . ' ' . Y::months($arr[1]) . ' ' . $arr[2] ?>
        </div>
        <div class="news_dcoll">
        <?
        foreach ($elems as $key => $elem) {
            ?>
            <div class="ib news_delem">
                <? //echo $key;?>
                <div class="news_ddate"><?= Y::date_print($elem->cdate, 'H.i') ?></div>
                <a href="<?= $elem->urlNews ?>" class="tdn"><?= $elem->title ?></a>
            </div>
        <?
        }
        ?></div><?
    }
}

所以你怎么看,每一行都是从db获得的数据列表。 PS。 Loop写另一个男人。

1 个答案:

答案 0 :(得分:1)

Widgets是Yii使用数据提供程序来显示数据。有不同的数据提供者:

  1. CActiveDataProvider(CActiveDataProvider实现基于ActiveRecord的数据提供程序。)
  2. CArrayDataProvider(CArrayDataProvider基于原始数据阵列实现数据提供程序。)
  3. CDataProvider(CDataProvider是实现IDataProvider接口的基类。)
  4. 如果您没有任何数据库数据并将其传递给您的小部件(或在任何地方使用它),您可以使用CDataProviderCArrayDataProvider