chart

[sharing] ane baru belajar bikin chart di yii gan, sekedar berbagi tutorial gan, nih ane dapat dari sabitlabscode.wordpress.com

-buat function actionStus pada controller anda

public function actionStus()

{


	$sql='SELECT count(id),bidang_id as aa FROM kegiatan GROUP BY bidang_id';


	


	$dataProvider=new CSqlDataProvider($sql,array(


                        'keyField' => 'id',


	));


	$this->render('stus',array(


		'dataProvider'=>$dataProvider,


	));


}

-trus pada viewx buatkan file stus.php

[script yg ini utk chart bar]

<?php $form=$this->beginWidget(‘CActiveForm’, array(

'id'=&gt;'tinstrument-form',


'enableAjaxValidation'=&gt;false,

)); ?>

<center>

<?php

$label=array();

$nilai=array();

foreach($dataProvider->getData() as $i=>$ii)

{

&#036;label[&#036;i]=&#036;ii['aa'];


&#036;nilai[&#036;i]=(int)&#036;ii['count(id)'];


if(&#036;ii['aa']==&quot;makan&quot;)

{

$label[$i]="makannasi";

}

}

$this->widget(‘application.extensions.highcharts.HighchartsWidget’, array(

‘options’=>array(

 'chart'=&gt; array('defaultSeriesType'=&gt;'column',),


  'title' =&gt; array('text' =&gt; ''),


  'legend'=&gt;array('enabled'=&gt;false),


  'xAxis'=&gt;array('categories'=&gt;&#036;label,


		'title'=&gt;array('text'=&gt;''),),


  'yAxis'=&gt; array(


        'min'=&gt; 0,


        'title'=&gt; array(


        'text'=&gt;'Jumlah'


        ),


    ),


  'series' =&gt; array(


     array('data' =&gt; &#036;nilai)


  ),


  'tooltip' =&gt; array('formatter' =&gt; 'js:function(){ return &quot;&lt;b&gt;&quot;+this.point.name+&quot;&lt;/b&gt; :&quot;+this.y; }'),


  'tooltip' =&gt; array(


	'formatter' =&gt; 'js:function() {return &quot;&lt;b&gt;&quot;+ this.x +&quot;&lt;/b&gt;&lt;br/&gt;&quot;+&quot;Jumlah : &quot;+ this.y; }'


  ),


  'plotOptions'=&gt;array('pie'=&gt;(array(


                'allowPointSelect'=&gt;true,


                'showInLegend'=&gt;true,


                'cursor'=&gt;'pointer',


            )


        )                       


    ),


  'credits'=&gt;array('enabled'=&gt;false),

)

));

?>

</center>

<?php $this->endWidget(); ?>

[script yg ini utk chart pie]

<?php $form=$this->beginWidget(‘CActiveForm’, array(

'id'=&gt;'tinstrument-form',


'enableAjaxValidation'=&gt;false,

)); ?>

<center>

<?php

$bb=array();

foreach($dataProvider->getData() as $i=>$ii)

&#036;bb[&#036;i]=array(&#036;ii['aa'],(int)&#036;ii['count(id)']);

$this->widget(‘application.extensions.highcharts.HighchartsWidget’, array(

‘options’=>array(

  'series' =&gt; array(


     array('type'=&gt;'pie',


           'data' =&gt; &#036;bb


          )


  ),


  'title'=&gt;'',


  'tooltip' =&gt; array(


	'formatter' =&gt; 'js:function(){ return &quot;&lt;b&gt;&quot;+this.point.name+&quot;&lt;/b&gt; :&quot;+this.y; }'


  ),


  'plotOptions'=&gt;array('pie'=&gt;(array(


                'allowPointSelect'=&gt;true,


                'showInLegend'=&gt;true,


                'cursor'=&gt;'pointer',


            )


        )                       


    ),


  'credits'=&gt;array('enabled'=&gt;false),

)

));

?>

</center>

<?php $this->endWidget(); ?>

hasilnya

6712

chart.png

m