【问题标题】:Cactivedataprovider with pagination带分页的 Cactivedataprovider
【发布时间】:2019-06-29 14:18:03
【问题描述】:

首先,这里我们有更多的表记录,所以我们想在页面中添加分页,代码如下所示

    public function actionCompany()
        {
              $model = new CompanyProfile();
              $criteria1 = new CDbCriteria();
            $criteria1->addCondition('cmpny_profile_id=-1');
            $dataProvidernew= new CActiveDataProvider('CompanyProfile',array(
                'criteria'=>$criteria1,'pagination'=>array('pageSize'=>10),
        ));
       if(isset($_POST['CompanyProfile'])){
                $criteria = new CDbCriteria();
                $model->cmpny_profile_name = $_POST['CompanyProfile']['cmpny_profile_name'];
                if(!empty($model->cmpny_profile_name))
                {
        $criteria->addSearchCondition('cmpny_profile_name', $model->cmpny_profile_name);

                }
      $dataProvidernew= new CActiveDataProvider('CompanyProfile',array(
                    'criteria'=>$criteria,'pagination'=>array('pageSize'=>10),

                ));
            }
        $this->render('company',array('model'=>$model,'dataProvider'=>$dataProvidernew));
    }

现在,在加载页面时,不会显示任何记录,并且我们有一个要在页面中提交的表单。所以在提交表单时,代码会显示前 10 条记录。当我们点击分页的第二个链接时,不会显示任何记录。
我的问题是,在点击分页的第二个链接时,表单正在提交但值$model->cmpny_profile_name为空,所以代码必须显示10条记录但不显示单个,为什么?请告诉我们原因。提前致谢。

【问题讨论】:

    标签: php yii pagination


    【解决方案1】:

    首先,带有分页的Cactivedataprovider不加载页面,分页与ajax一起工作。所以如果你在if条件下回显代码,你可以通过ajax检查没有数据会显示。所以点击分页的第二个链接,同一个页面将使用 ajax 加载分页并应用 cmpny_profile_id=-1 条件,并且没有提交任何表单,因此不会显示任何数据。

    【讨论】:

      猜你喜欢
      • 2011-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      相关资源
      最近更新 更多