[Solved] Passing Data From Gridview To A Function

I have a function in my Server model as :


        public function getStatus($server) {

            $socket = @fsockopen($server, '80', $errno, $errstr, 3);

              if($errno == 0) { return true; }

                else { return false;}

            fclose($socket);

        }

And in admin.php in the Server view:




<?php $this->widget('zii.widgets.grid.CGridView', array(

	'id'=>'server-grid',

	'dataProvider'=>$model->search(),

	//'filter'=>$model,

	'columns'=>array(

		'id',

		'server_name',

		'server_ip',

                array(

                    'header'=>'Status',

                    'type'=>'html',

                    'value'=>$model->getStatus($model->server_ip)?'1':'0',

                     ),

	),

)); ?>

The mysql column for server_ip is :


`server_ip` varchar(20) NOT NULL DEFAULT '0.0.0.0',

I am unable to get the required result with the getStatus function. It returns 0 all the time. When i feed a static value as


'value' => $model->getStatus('192.168.1.1')>'1':'0',

it works OK.

Can somebody guide me regarding the problem?

What happens when you do echo $model->server_ip;

Try


'value' => '$data->etc

instead of


'value' => '$model->etc

Tried


 'value'=> $model->getStatus('$data->server_ip'), 

but it always returns 1 irrespective of the server status. Don’t know what is getting passed to the getStatus function.


'value' => '$data->server_ip', 

returns the server ip address.

Tried


 'value'=> '$data->server_ip', 

but it always returns 1 irrespective of the server status. Don’t know what is getting passed to the getStatus function.


'value'=>'$data->getStatus($data->server_ip)?1:0',

worked.