macam-macam yang bisa di copy paste untuk aplikasi yii framework, sebab semakin malas mengetik
TRANSCRIPT
Andrea Stevens Karnyoto([email protected]), ym : andrekarnyoto, fb : karnyoto andre
Membuat rules di model
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('KodeRuangan, TahunSemester', 'numerical',
'integerOnly'=>true),
array('KodeKelas, KodeMataKuliah, KodeJurusan, DosenUtama,
DosenCadangan', 'length', 'max'=>255),
array('NamaKelas', 'length', 'max'=>10),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array('IDKelas, KodeKelas, NamaKelas, KodeMataKuliah, KodeJurusan,
DosenUtama, DosenCadangan, KodeRuangan, TahunSemester', 'safe', 'on'=>'search'),
);
} Relasionship model public function relations()
{
return array(
'Ruangan'=>array(self::BELONGS_TO, 'TableRuangan',
'KodeRuangan'),
'Dosen1'=>array(self::BELONGS_TO, 'TableDosen', 'DosenUtama'),
'Dosen2'=>array(self::BELONGS_TO, 'TableDosen', 'DosenCadangan'),
);
}
Fungsi tanggal di yii framework
$tanggal = $_POST['BerlakuSejak'];
$model->BerlakuSejak = $tanggal['Year'] . "-" . $tanggal['Month'] . "-" .
$tanggal['Day'];
Membuat semua item huruf besar saat create dan update
$arrItem = $_POST['TableMataKuliah'];
foreach ($arrItem as $key => $value) {
$arrItem[$key] = strtoupper(trim($value));
}
$model->attributes = $arrItem;
Yang bisa digunakan di cgridview
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'table-mata-kuliah-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'header'=>'Num',
'value'=>'$this->grid->dataProvider->pagination->currentPage*$this-
>grid->dataProvider->pagination->pageSize + $row+1', // row is zero based
),
'KodeMatakuliah',
'NamaMataKuliah',
array(
'name'=>'KodeJurusan',
'value'=>'$data->Jurusan->NamaJurusan',
'filter'=>CHtml::listData(TableJurusan::model()->findAll(),
'KodeJurusan', 'NamaJurusan'),
),
'BerlakuSejak',
array(
'name'=>'JenisMataKuliah',
'value'=>'$data->JenisMataKuliah',
'filter'=>array('Wajib'=>'Wajib','Pilihan'=>'Pilihan',
Andrea Stevens Karnyoto([email protected]), ym : andrekarnyoto, fb : karnyoto andre
'Dasar'=>'Dasar'),
),
array(
'name'=>'Semester',
'value'=>'$data->Semester',
'filter'=>array('1'=>'1','2'=>'2','3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8
','9'=>'9','10'=>'10','11'=>'11','12'=>'12'),
),
'Sks',
/*
'Keterangan',
'PrasyaratMataKuliah',
*/
array(
'class'=>'CButtonColumn',
),
),
)); ?>
Kata kata yang di masukkkan pada pencarian canggih /advaces search
<p>
Anda opsional dapat memasukkan operator perbandingan (<b><</b>, <b><=</b>,
<b>></b>, <b>>=</b>, <b><></b>
or <b>=</b>) pada awal setiap nilai pencarian Anda untuk menentukan bagaimana
perbandingan harus dilakukan.
</p>
Bikin dropdown list dari database pada form
<div class="row">
<?php echo $form->labelEx($model,'KodeMataKuliah'); ?>
<?php echo $form->dropDownList($model,'KodeMataKuliah',
CHtml::listData(TableMataKuliah::model()->findAll(),
'KodeMatakuliah', 'NamaMataKuliah')); ?>
<?php echo $form->error($model,'KodeMataKuliah'); ?>
</div>
Bikin tanggal pada form
<div class="row">
<?php echo $form->labelEx($model, 'TanggalLahir'); ?>
<?php $this->widget('application.extensions.EHtmlDateSelect.EHtmlDateSelect',
array(
'time'=>$model->TanggalLahir,
'field_array'=>'TanggalLahir',
'prefix'=>'',
'field_order'=>'DMY',
'start_year'=>'1940',
'end_year' => 'Controller::TahunSekarang()',
)
);?>
<?php echo $form->error($model, 'TanggalLahir'); ?>
</div>
Pada moyang conltroller untuk medapatkan tahun sekarang dan format indonesia
public function TahunSekarang()
{
return date('Y', now());
}
public function DateFormatIndo($tanggal)
{
$ArrBulan = array('Jan', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Ags',
'Sep', 'Okt', 'Nov', 'Des');
if(trim($tanggal) != '')
{
$waktu = strtotime($tanggal);
Andrea Stevens Karnyoto([email protected]), ym : andrekarnyoto, fb : karnyoto andre
return date("d", $waktu) .' '. $ArrBulan[(int)date("m", $waktu) - 1].' '
.date("Y", $waktu);
} else {
return '';
}
}
Masukkan gambar pada cdetailview
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
'attributes'=>array(
array(
'label'=>'Foto',
'type'=>'html',
'value'=> CHtml::image(Yii::app()->request-
>baseUrl."/index.php?r=dosen/fotodosen&id=$model->KodeDosen",'Foto tidak
ditemukan',array('width'=>150)),
),
'KodeDosen',
'KodeDosen',
'NamaDosen',
'TempatLahir',
array(
'label'=>'Tanggal Lahir',
'type'=>'html',
'value'=> Controller::DateFormatIndo($model->TanggalLahir),
),
'Alamat',
'TeleponRumah',
array(
'label'=>'Tanggal Masuk Kerja',
'type'=>'html',
'value'=> Controller::DateFormatIndo($model->TanggalMasukKerja),
),
array(
'label'=>'Status',
'type'=>'html',
'value'=> TableDosenStatus::model()->findByPk($model-
>KodeStatusDosen)->NamaStatusDosen,
),
'TeleponHp',
'Nidn',
'Nip',
'GelarDepan',
'GelarBelakang',
),
)); ?>
Fungi if php standard
($x==1) ? "One" : ( ($y==2) ? "Two" : "None" );
($model->JenisKelamin==1) ? 'Laki-laki' : 'Perempuan'
Memmanggil foto yang ada dalam database
public function actionFotomahasiswa($id) {
$sqlx = "select Foto From tablemahasiswa where KodeMahasiswa =
'$id'";
try {
$hasilQ = Yii::app()->db->createCommand($sqlx)->queryScalar();
} catch (Exception $e) {
$hasilQ = 0;
}
header('Pragma: public');
header('Expires: 0');
Andrea Stevens Karnyoto([email protected]), ym : andrekarnyoto, fb : karnyoto andre
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Transfer-Encoding: binary');
header('Content-Type: jpg,png,gif,jpeg,bmp');
echo $hasilQ;
}
Memasukkan foto keddalam database
public function actionFoto($id) {
$model = new DosenfotoForm();
if (isset($_POST['DosenfotoForm'])) {
$arrItem = $_POST['DosenfotoForm'];
$model->attributes = $arrItem;
$isiberkas = '';
if ($file = CUploadedFile::getInstance($model, 'foto')) {
$isiberkas = file_get_contents($file->tempName);
}
$modelsimpan = $this->loadModel($id);
$modelsimpan->Foto = $isiberkas;
if ($modelsimpan->save()) {
$this->redirect(array('view', 'id' => $id));
} else {
}
} else {
$this->render('foto', array('model' => $model, 'fid' => $id));
}
}
<?php
class DosenfotoForm extends CFormModel
{
public $foto;
public function rules()
{
return array(
array('foto', 'file', 'types'=>'jpg, gif, png'),
array('foto', 'required'),
);
}
public function attributeLabels()
{
return array(
'foto'=>'Pas Foto',
);
}
}
<?php $this->widget('zii.widgets.CDetailView', array(
'data'=>$model,
Andrea Stevens Karnyoto([email protected]), ym : andrekarnyoto, fb : karnyoto andre
'attributes'=>array(
array(
'label'=>'Foto',
'type'=>'html',
'value'=> CHtml::image(Yii::app()->request-
>baseUrl."/index.php?r=dosen/fotodosen&id=$model->KodeDosen",'Foto tidak
ditemukan',array('width'=>150)),
),
'KodeDosen',
'KodeDosen',
Format mata uang indonesia
number_format($data->harga)
Untuk rata kiri ato rata kanan cgridview
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'barangmentah-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'kodebarangmentah',
array(
'name'=>'kodepembelian',
'value'=>'$data->kodepembelian',
'filter'=>CHtml::listData(Pembelian::model()-
>findAll(), 'kodepembelian', 'kodepembelian'),
),
'namabarang',
'tipe',
array(
'name'=>'jumlah',
'type'=>'html',
'value'=>'$data->jumlah',
'htmlOptions'=>array('width'=>'40','style'=>'text-
align:center;'),
),
array(
'name'=>'harga',
'type'=>'html',
'value'=>'number_format($data->harga)',
'htmlOptions'=>array('style'=>'text-align:right;'),
),
array(
'name'=>'satuan',
'value'=>'$data->satuan',
'filter'=> array('meter'=>'Meter','batang'=>'Batang')
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
Yang ini untuk mendapatkan field tertentu dalam select hehehe
$sqlx = "select count(KodeDosen) From tabledosen where $xfield =
'$xfsfilter'";
try {
$hasilQ = Yii::app()->db->createCommand($sqlx)->queryScalar();
} catch (Exception $e) {