我使用此代码
public function actionPlacemenu()
{
$criteria = new CDbCriteria;
$id=$_POST['x2'];
if(!empty($id))
{
$dataProvider=new CActiveDataProvider('AmakenMenu',array(
'criteria'=>array(
'condition'=>'admin_active=1',
'condition'=>'place_id=:projectId',
'params'=>array(':projectId'=>"$id"),
)));
$dataProvider->pagination->pageSize =1000000;
$dataProvider->pagination->pageVar = 'page';
echo CJSON::encode($dataProvider->getData());
}
}
此代码将数据发送到Android App ...当我重复访问最终页面数据时
EX:page = 10" last page" at page = 11,12 ....重复相同的数据
任何人都有解决方案吗?
答案 0 :(得分:0)
我的解决方案
$total=ceil($dataProvider->totalItemCount/10);
if(isset($_GET['page']) && $_GET['page']>$total)
{
die;
}
$ total - >显示页数 和10 - >每页的记录数
答案 1 :(得分:0)
使用'validateCurrentPage'=>对我来说是错误的。
样本结构:
$dataProvider = new CActiveDataProvider('LabOrderDetail', array(
'criteria' => $criteria, 'pagination' => array('pageSize' => $pageSize ,'validateCurrentPage' => false)
));