2013-10-25 56 views
0

我同時使用yiicgridview解析錯誤:語法錯誤,意想不到的T_FUNCTION而使用YiiÇGridView的

Parse error: syntax error, unexpected T_FUNCTION in /home/.../result.php on line 23

$this->widget('zii.widgets.grid.CGridView', array( 
    'id'=>'product-table',  
    'dataProvider'=>$model->search(),  
    'columns'=>array( 
     array('header' => '#','value'=>'$this->grid->dataProvider->pagination->currentPage * $this->grid->dataProvider->pagination->pageSize + ($row+1)','headerHtmlOptions'=>array('class'=>'table-header-check')),  
     array('name'=>'testname'),  
     array('header'=> 'Subject Name','value'=>'$data->sub->subname'), 
     array('header'=>'Validity', 'value'=>'$data->testfrom." To ".$data->testto'), 
     array('header'=>'attemptedstudents', 
       'value'=>function($data){ 
       $dataReader = Yii::app()->db->createCommand('SELECT COUNT(stdid)as atstd FROM studenttest WHERE testid='.$data->testid.' AND status ="over"')->query(); 
       $atStd = $dataReader->read(); 
       return $atStd['atstd']; }), 
     array('header'=>'Details', 
       'class'=>'CButtonColumn', 
       'template'=>'{details}', 
       'buttons' => array (
       'details' =>array('imageUrl'=>Yii::app()->request->baseUrl.'/css/images/detail.png', 
       'url'=>'Yii::app()->createUrl("test/resultdetail", array("testid"=>$data->testid))',       
       'options'=>array('class'=>'icon-manage')), 
      ),  
     ), 
    ),  
    'itemsCssClass' => 'table table-striped table-bordered bootstrap-datatable datatable', 
    'cssFile'=>false,  
));?> 

錯誤行代碼是'array('header'=>'attemptedstudents','value'=>function($data){'; 但這段代碼可以正常使用了以下錯誤在XAMP本地主機中。 但它上傳到服務器我收到此錯誤。 任何一個請指導我..

+0

使用'<?php phpinfo()在XAMPP中檢查您的PHP版本。 ?>並將其與生產/活動服務器的PHP版本進行比較。 – Latheesan

+0

Discover [debug](http://stackoverflow.com/questions/888/how-do-you-debug-php-scripts) –

+0

''value'=>'$ data-> testfrom。「To」。$ data - > testto'' - 該字符串被錯誤地轉義 - 值'$ data'將不會被解析 – AlexP

回答

0

試試這個代碼

array('header' => 'attemptedstudents', 'value' => array($this, 'getData') 

在控制器

public function getData($data) { 
    $dataReader = Yii::app()->db->createCommand('SELECT COUNT(stdid)as atstd FROM studenttest WHERE testid=' . $data->testid . ' AND status ="over"')->query(); 
    $atStd = $dataReader->read(); 
    return $atStd['atstd']; 
} 
+0

雅將工作感謝人...但真正的問題是PHP版本的差異.. –

相關問題