У меня был cgridview с ajaxlink в одном из столбцов. Ajaxlink отлично работает только на первой странице. Для других страниц, независимо от того, как я нажимаю ajaxlink, он обновит результат на первой странице.
$this->widget('zii.widgets.grid.CGridView', array( 'id'=>'promotion-facility-grid', 'ajaxUpdate'=>true, 'dataProvider'=>$model->search(), 'filter'=>$model, 'columns'=>array( array( 'name'=>'pf_branch', 'value'=>'$data->pfBranch->branch_name'), array( 'name'=>'pf_category', 'value'=>'$data->pfCategory->pc_name'), array( 'name'=>'pf_photo', 'type' => 'raw', 'value'=>'CHtml::image(Yii::app()->baseUrl . "/images/facility/" .$data->pf_photo, "", array("width"=>"150px"))'), 'pf_name', array( 'name' => 'pf_main_view', 'htmlOptions'=>array('style'=>'text-align: center'), 'value' => 'CHtml::ajaxLink("<span id=\'MV$data->pf_id\'>$data->pf_main_view</span>", array("promotionFacility/Ajaxcontent", "id"=>$data["pf_id"]),array("update" => "#MV$data->pf_id"))', 'type' => 'raw', ), /* 'pf_price', 'pf_currency', 'pf_link', 'pf_status', */ array( 'class'=>'CButtonColumn', 'template'=>'{update}{delete}', 'buttons'=>array ( 'update' => array ( 'label'=>'update', 'url'=>'Yii::app()->createUrl("promotionFacility/updatepanel", array("id"=>$data->pf_id,"view"=>$data->pf_view,"branch"=>$data->pf_branch))', ), ), ), ),
));
контроллер
public function actionAjaxcontent($id) { include("js/databaseconnection.php"); $query = "select * from holiday_promotion_facility where pf_id='$id'"; $result= mysql_query($query) or die (mysql_error()); while ($row=mysql_fetch_array($result)) { $pf_main_view = $row['pf_main_view']; } if ($pf_main_view == "yes") { mysql_query("update holiday_promotion_facility set pf_main_view='no' where pf_id='$id'"); echo "no"; } else { mysql_query("update holiday_promotion_facility set pf_main_view='yes' where pf_id='$id'"); echo "yes"; } }
вpublic function actionAjaxcontent($id) { include("js/databaseconnection.php"); $query = "select * from holiday_promotion_facility where pf_id='$id'"; $result= mysql_query($query) or die (mysql_error()); while ($row=mysql_fetch_array($result)) { $pf_main_view = $row['pf_main_view']; } if ($pf_main_view == "yes") { mysql_query("update holiday_promotion_facility set pf_main_view='no' where pf_id='$id'"); echo "no"; } else { mysql_query("update holiday_promotion_facility set pf_main_view='yes' where pf_id='$id'"); echo "yes"; } }
что я пропустил? это какое-либо отношение к ajaxupdate
или afterajaxupdate
?