Gan, bagi solusinya, udah semaleman nyari belum ktemu2
Gini gan, ane ceritanya mau buat kolom perhitungan dari beberapa kolom di cgridview, kolom yg dimaksud kolom Nilai Akhir (yang merupakan hasil dr perhitungan nilai_tugas, nilai_hadir, nilai_uts, nilai_uas).
Nah trus mau ada satu kolom lagi, yaitu kolom untuk nilai Huruf -> nilai Huruf ini didapet dari tabel lain gan (namanya tabel bobot), nilai Huruf ini didapet berdasarkan nilai Akhir tadi gan (misalnya: kalo nilai Akhir 100 berarti nilai Hurufnya = A)
Ni fungsi yg ane buat di Nilai::Model
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id',$this->id);
$criteria->compare('id_krs',$this->id_krs);
$criteria->compare('nim',$this->nim);
$criteria->compare('nilai_hadir',$this->nilai_hadir,true);
$criteria->compare('nilai_tugas',$this->nilai_tugas,true);
$criteria->compare('nilai_uts',$this->nilai_uts,true);
$criteria->compare('nilai_uas',$this->nilai_uas,true);
$criteria->compare('nilai_akhir',$this->nilai_akhir,true);
$criteria->compare('t.id_jadwal',$this->id_jadwal,true);
$criteria->compare('t.thn_ajaran',$this->thn_ajaran);
return new CActiveDataProvider(get_class($this), array(
'criteria'=>$criteria,
));
}
public static function getHuruf()
{
$nilai_bobot=0;
$provider = Nilai::model()->findAll();
foreach($provider as $data)
{
$nilai_akhir = (($data->nilai_hadir*0.1)+($data->nilai_tugas*0.2)+
($data->nilai_uts*0.3)+($data->nilai_uas*0.4));
$sql = "SELECT `huruf` FROM tbl_bobot WHERE `nilai_akhir` like ':nilai_akhir%' ";
$nilai_bobot=Bobot::model()->findBySql($sql,array(':nilai_akhir'=>$nilai_akhir));
}
return $nilai_bobot;
}
ini di view-nya gan:
...
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'nilai-grid',
'dataProvider'=>$model->search(),
//filter'=>$model,
'columns'=>array(
'idKrs0.idKurikulum0.idMataKuliah0.nama_mata_kuliah',
array(
'header'=>'Nilai Akhir',
'value'=>'floor((($data->nilai_hadir*0.1)+($data->nilai_tugas*0.2)+
($data->nilai_uts*0.3)+($data->nilai_uas*0.4)))',
),
array(
'header'=>'Nilai Huruf',
'value'=>'$data->Huruf',
),
nah pas dicoba hasilnya di kolom Nilai Huruf-nya kosong gan, ga ada nilainya.
1591
Mohon pencerahannya gan,