Hi!
On my index-page I have a search-field.
echo CHtml::form(CHtml::normalizeUrl(array('betriebsstelle/search')));
echo CHtml::DropDownList("searchid", " - Suche - ",array(1=>'Hostname',2=>'Betriebsstellenname',3=>'Strasse',4=>'VenedigID',5=>'Auftragsnummer'));
echo CHtml::textField("searchField");
echo CHtml::submitButton('Suchen');
echo CHtml::endForm();
This search-request is handled by the function actionSearch().
public function actionSearch() {
if(isset($_POST['searchid']) && isset($_POST['searchField'])){
switch ($_POST['searchid']) {
//Hostname
case 1:
$criteria=new CDbCriteria;
$criteria->alias = 'Betriebsstelle';
$criteria->join='INNER JOIN CPE on CPE.Betriebsstelle_idBetriebsstellen=Betriebsstelle.idBetriebsstellen';
$criteria->condition='CPE.CPEName LIKE "%'.$_POST['searchField'].'%"';
$criteria->group='Betriebsstelle.idBetriebsstellen';
$dataProvider=new CActiveDataProvider('Betriebsstelle', array('criteria'=>$criteria));
break;
//BS Name
...
default:
$dataProvider=new CActiveDataProvider('Betriebsstelle');
}
}else{
$dataProvider=new CActiveDataProvider('Betriebsstelle');
}
$this->render('index',array(
'dataProvider'=>$dataProvider
));
}
The defaul CListView displays the result:
<?php $this->widget('zii.widgets.CListView', array(
'dataProvider'=>$dataProvider,
'itemView'=>'_view',
)); ?>
The first page is shown correctly. If I want to go to page 2 CListView shows page 2 of all items and not of my search-request (filter).
How can I solve this Probleme?