Php 单页中的多分页-yii2 framewrok
控制器=>Php 单页中的多分页-yii2 framewrok,php,yii2,Php,Yii2,控制器=> public function getPagination($query, $pageSize) { $queryDataCount = new Pagination(['totalCount' => $query->count()]); $queryDataCount->setPageSize($pageSize); $paginatedData = $query->offset($queryDataCount->offs
public function getPagination($query, $pageSize) {
$queryDataCount = new Pagination(['totalCount' => $query->count()]);
$queryDataCount->setPageSize($pageSize);
$paginatedData = $query->offset($queryDataCount->offset)
->limit($queryDataCount->limit)
->all();
return array($paginatedData, $queryDataCount);
}
$queryMonthly = QuizLeaderboard::find()
->select(['SUM(score) as totalScore', 'SUM(time) as totalTime', 'userId'])
->where(['between', 'currentDate', $monthStart, $monthEnd])
->asArray();
$paginatedQueryMonthly = $this->getPagination($queryMonthly, 10);
//$paginatedQueryMonthly[1]->pageParam = 'list1Page';
$queryWeekly = QuizLeaderboard::find()
->select(['SUM(score) as totalScore', 'SUM(time) as totalTime', 'userId'])
->where(['between', 'currentDate', $monthStartSec, $monthEndSec])
->asArray();
$paginatedQueryWeekly =$this->getPagination($queryWeekly, 10);
$paginatedQueryWeekly[1]->pageParam = 'list2Page';
$queryTwoWeeks = QuizLeaderboard::find()
->select(['SUM(score) as totalScore', 'SUM(time) as totalTime', 'userId'])
->where(['between', 'currentDate', $monthStartTh, $monthEndTh])
->asArray();
$paginatedQueryTwoWeeks =$this->getPagination($queryTwoWeeks, 10);
$paginatedQueryTwoWeeks[1]->pageParam = 'list3Page';
这就是我向view发送数据的方式=>
return $this->render('summarize-report', [
'queryMonthly' => $paginatedQueryMonthly[0],
'pagesQueryMonthly' => $paginatedQueryMonthly[1],
'queryWeekly' => $paginatedQueryWeekly[0],
'pagesQueryWeekly' => $paginatedQueryWeekly[1],
'queryTwoWeeks' => $paginatedQueryTwoWeeks[0],
'pagesQueryTwoWeeks' => $paginatedQueryTwoWeeks[1],
'reports' => $query,
]);
视图=>
echo LinkPager::widget([‘pagination’ => $pagesQueryWeekly,]);
echo LinkPager::widget([‘pagination’ => $pagesQueryTwoWeeks,]);
echo LinkPager::widget([ ‘pagination’ => $pagesQueryMonthly,]);
我一页有三个页码。我为每个分页设置了不同的pageParam。但是,分页并不会改变页面。有人能帮我找出问题吗?试试
'pagination'=>$pageskryweekly[1]
链接寻呼机::小部件(['pagination'=>pagination\u OBJECT\u HERE])所以在你的情况下,pagination对象是索引为[1]@ustmastro的元素,这不起作用!请检查这个问题!我已经添加了我如何向视图传递数据的部分。在使用分页后,您正在设置pageParam
,因此pageParam
的新值将被忽略。@rob006您是对的!已经解决了。谢谢尝试'pagination'=>$pageskryweekly[1]
链接寻呼机::小部件(['pagination'=>pagination\u OBJECT\u此处])因此,在您的情况下,pagination对象是索引为[1]@ustmastro的元素,这将不起作用!请检查这个问题!我已经添加了我如何向视图传递数据的部分。在使用分页后,您正在设置pageParam
,因此pageParam
的新值将被忽略。@rob006您是对的!已经解决了。谢谢