【发布时间】:2018-01-16 09:53:21
【问题描述】:
如何将分页添加到没有从 DB 获得的内容?例如:我有 20 次输出一些行的 cicle,我如何对其进行分页。我尝试创建分页器,它会正确显示页面数,但在每个页面中我都可以看到所有内容。
循环代码:
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。循环写另一个人。
【问题讨论】:
-
您可以将自定义数据添加到数据提供者并让CListView/CGridView 为您分页吗?这里有一个类似的答案:How to create my own DataProvider in Yii using CDataProvider?
-
@Stu,但我不想使用网格或列表视图,我将所有项目添加到数组并尝试在数组上调用寻呼机但仍然得到相同的结果
-
CListView 就是这样做的,循环遍历数组并一次输出每一行,并自动为您分页,我相信这是最简单的方法。
标签: php yii pagination