Hello everyone.
My problem is that when I click another page number all the data from my database table is loaded though when my CGridView is loaded for the first time only those data is loaded that match my search parameters.
Here is my view
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model->search(),
'columns'=>array(
array('name'=>'name','header'=>"Ім'я",'value'=>'htmlspecialchars_decode ($data->name,ENT_QUOTES)'),
array(
'name'=>'dn',
'value'=>'strtotime($data->dn)?date("d.m.Y",strtotime($data->dn)):""',
'header'=>'Дата народження'
),
array('name'=>'posada','header'=>"Посада"),
array('name'=>'ppnz','header'=>"Школа",'value'=>'htmlspecialchars_decode($data->ppnz->nazva." ".$data->ppnz->stupin." ".$data->ppnz->nomer_sh,ENT_QUOTES)'),
array('name'=>'predmet','header'=>"Предмет"),
array(
'class'=>'CButtonColumn',
'buttons'=>array(
'view'=>array('options'=>array('target'=>'_blank')),
'update'=>array('visible'=>'false'),
'delete'=>array('visible'=>'false')
), ),),
));
This is my controller
$model = new Ppnz('search');
if(isset($_POST['mysubmit']))
{
$model->name = $_POST['sname'];
$model->predmet = $_POST['spredmet'];
$model->posada = $_POST['sposada'];
$model->osvita = $_POST['osvita'];
}
$this->render('vyvid', array('model'=>$model));
My Ppnz model
public function search()
{
$criteria=new CDbCriteria;
$criteria->with='ppnz';
$criteria->compare('name',$this->name,true);
$criteria->compare('posada',$this->posada,true);
$criteria->compare('osvita',$this->osvita,true);
$sort = new CSort();
$sort->attributes = array(
'ppnz'=>array(
'asc'=>'ppnz.nazva',
'desc'=>'ppnz.nazva desc',
),
'name',
'dn',
'posada',
'predmet',
);
return new CActiveDataProvider('Ppnz', array(
'sort'=>$sort,
'criteria'=>$criteria,
));
}
What did I do wrong?
Thanks.