yii echo CJSON :: encode($ dataProvider-> getData());在最后一页重复数据

时间:2015-01-03 13:48:38

标签: php yii

我使用此代码

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 ....重复相同的数据

任何人都有解决方案吗?

2 个答案:

答案 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)
    ));