yii echo CJSON::encode($dataProvider->getData());重复最后一页的数据
yii echo CJSON::encode($dataProvider->getData()); repeat data on last page
我用这个代码
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 应用...当我重复访问最终页面数据时
EX: page=10 "last page" at page=11,12....重复相同的数据
有人有解决办法吗?
我的解决方案
$total=ceil($dataProvider->totalItemCount/10);
if(isset($_GET['page']) && $_GET['page']>$total)
{
die;
}
$total -> 显示页数
和 10 -> 每页记录数
使用 'validateCurrentPage' => 错误对我有用。
示例结构:
$dataProvider = new CActiveDataProvider('LabOrderDetail', array(
'criteria' => $criteria, 'pagination' => array('pageSize' => $pageSize ,'validateCurrentPage' => false)
));
我用这个代码
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 应用...当我重复访问最终页面数据时
EX: page=10 "last page" at page=11,12....重复相同的数据
有人有解决办法吗?
我的解决方案
$total=ceil($dataProvider->totalItemCount/10);
if(isset($_GET['page']) && $_GET['page']>$total)
{
die;
}
$total -> 显示页数 和 10 -> 每页记录数
使用 'validateCurrentPage' => 错误对我有用。
示例结构:
$dataProvider = new CActiveDataProvider('LabOrderDetail', array(
'criteria' => $criteria, 'pagination' => array('pageSize' => $pageSize ,'validateCurrentPage' => false)
));