Yii Dropdown Dependent Controller
public function actionFilterjurusan() { $data=Jurusan::model()->findAll('id_tingkatan=:id_tingkatan',array(':id_tingkatan'=>$_POST['id_tingkatan'])); $data=CHtml::listData($data,'id_jurusan','jurusan'); echo '<option value="">Pilih Jurusan</option>'; foreach($data as $value=>$name) { echo CHtml::tag('option',array('value'=>$value),CHtml::encode($name),true); } } public function actionFilterkelas() { $data=Kelas::model()->findAll('id_jurusan=:id_jurusan',array(':id_jurusan'=>$_POST['id_jurusan'])); $data=CHtml::listData($data,'kelas','kelas'); echo '<option value="">Pilih Kelas</option>'; foreach($data as $value=>$name) { echo CHtml::tag('option',array('value'=>$value),CHtml::encode($name),true); } } public function actionFiltersiswa() { $data=Siswa::model()->findAll('kelas=:kelas',array(':kelas'=>$_POST['kelas'])); $data=CHtml::listData($data,'nisn','nama'); foreach($data as $value=>$name) { echo CHtml::tag('option',array('value'=>$value),CHtml::encode($name),true); } } public function actionAutocomplete() { //$id = Yii::app()->session['idsatker'] and id_satuan_kerja = $id ; if (isset($_GET['term'])) { $qtxt =" SELECT * from siswa where nama LIKE :data "; $command =Yii::app()->db->createCommand($qtxt); $command->bindValue(":data",'%'.$_GET['term'].'%', PDO::PARAM_STR); $res =$command->queryAll(); } $arr = array(); foreach($res as $r) { $arr[] = array( 'label'=>$r['nama'].'-'.$r['kelas'], // label for dropdown list 'value'=>$r['nama'], // value for input field 'id'=>$r['nisn'], // return value from autocomplete ); } echo CJSON::encode($arr); }
Yii Dropdown Dependent
<?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'keterangan-form', 'enableAjaxValidation'=>false, )); ?> <br><div class="col-lg-12"> <div class="card"> <div class="card-close"> <div class="dropdown"> <button type="button" id="closeCard2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="dropdown-toggle"><i class="fa fa-ellipsis-v"></i></button> <div aria-labelledby="closeCard2" class="dropdown-menu dropdown-menu-right has-shadow"><a href="#" class="dropdown-item remove"> <i class="fa fa-times"></i>Close</a><a href="#" class="dropdown-item edit"> <i class="fa fa-gear"></i>Edit</a></div> </div> </div> <div class="card-header d-flex align-items-center"> <h3 class="h4">Input Presensi ( Izin/Sakit )</h3> </div> <div class="card-body"> <form class="form-horizontal"> <div class="form-group row"> <label class="col-sm-2 form-control-label">Tingkatan</label> <div class="col-sm-7"> <?php $htmlOptions = array('class' => 'form-control'); echo CHtml::dropDownList('tingkatan','', CHtml::listData(Tingkatan::model()->findAll(),'id_tingkatan','tingkatan'), array( 'prompt'=>'Pilih Tingkatan', // 'value'=>'0', 'class'=>'form-control-sm', 'ajax' => array( 'type'=>'POST', //request type 'url'=>CController::createUrl('filterjurusan'), // panggi filter kabupaten di controller 'update'=>'#jurusan', //selector to update 'data'=>array('id_tingkatan'=>'js:this.value'), ) ),array('empty' => '(Select a category', 'class'=>'form-control') ); ?> </div> </div> <div class="form-group row"> <label class="col-sm-2 form-control-label">Jurusan</label> <div class="col-sm-7"> <?php echo CHtml::dropDownList('jurusan','', CHtml::listData(Jurusan::model()->findAll(),'id_jurusan','jurusan'), array( 'prompt'=>'Pilih Jurusan', // 'value'=>'0', 'class'=>'form-control-sm', 'ajax' => array( 'type'=>'POST', //request type 'url'=>CController::createUrl('filterkelas'), // panggi filter kabupaten di controller 'update'=>'#kelas', //selector to update 'data'=>array('id_jurusan'=>'js:this.value'), )) ); ?> </div> </div> <div class="form-group row"> <label class="col-sm-2 form-control-label">Kelas</label> <div class="col-sm-7"> <?php echo CHtml::dropDownList('kelas','', CHtml::listData(Kelas::model()->findAll(),'kelas','kelas'), array( 'prompt'=>'Pilih Kelas', // 'value'=>'0', 'class'=>'form-control-sm', 'ajax' => array( 'type'=>'POST', //request type 'url'=>CController::createUrl('filtersiswa'), // panggi filter kabupaten di controller 'update'=>'#Keterangan_nisn', //selector to update 'data'=>array('kelas'=>'js:this.value'), )) ); ?> </div> </div> <div class="form-group row"> <label class="col-sm-2 form-control-label">Nama</label> <div class="col-sm-7"> <?php echo $form->dropDownList($model,'nisn',array(),array('class'=>'form-control-sm','prompt'=>'Pilih Dulu','value'=>'0')) ?> </div> </div> <div class="form-group row"> <label class="col-sm-2 form-control-label">Status Presensi</label> <div class="col-sm-7"> <input id="radioCustom1" type="radio" checked="" value="izin" name="status" class="radio-template"> <label for="checkboxCustom1">Izin </label>     <input id="radioCustom1" type="radio" value="sakit" name="status" class="radio-template"> <label for="radioCustom1">Sakit</label> </div> </div> <div class="form-group row"> <label class="col-sm-2 form-control-label">Keterangan</label> <div class="col-sm-7"> <input id="inputHorizontalWarning" type="password" placeholder="Pasword" class="form-control form-control-warning"><small class="form-text">Example help text that remains unchanged.</small> </div> </div> <div class="form-group row"> <div class="col-sm-9 offset-sm-3"> <input type="submit" value="Signin" class="btn btn-primary"> </div> </div> </form> </div> </div> </div> <?php $this->endWidget(); ?>
Import Excel ke PHP
public function actionCreate() { $database = 'karyawan'; //nama database $user = 'user'; //nama user db $pass = 'passwordnya'; //pass db $host = 'localhost'; $conn = mysqli_connect($host,$user,$pass,$database); if (!$conn) { die("Connection failed: " . mysqli_connect_error()); exit(); } include"PHPExcel.php"; $random = "file_upload_".date('Y-m-d-H-i-s').rand(11111,99999); $target_file = Yii::app()->basePath.'/../upload/'.$random.basename($_FILES["file_excel"]["name"]); $uploadOk = 1; if (move_uploaded_file($_FILES["file_excel"]["tmp_name"], $target_file)) { ini_set('memory_limit', '-1'); $objReader = PHPExcel_IOFactory::createReader('Excel2007'); $inputFileType = 'Excel2007'; $sheetIndex = 0; $inputFileName = $target_file; $objReader = PHPExcel_IOFactory::createReader($inputFileType); $sheetnames = $objReader->listWorksheetNames($inputFileName); $objReader->setLoadSheetsOnly($sheetnames[$sheetIndex]); try { $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('Error loading file :' . $e->getMessage()); } $worksheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $numRows = count($worksheet); //baca untuk setiap baris excel $no = 1 ; for ($i=2; $i <= $numRows ; $i++) { $worksheet[$i]['E'] = str_replace("'"," ",$worksheet[$i]['E']); $worksheet[$i]['A'] = str_replace("'"," ",$worksheet[$i]['A']); $worksheet[$i]['F'] = str_replace("'"," ",$worksheet[$i]['F']); $worksheet[$i]['B'] = str_replace("'"," ",$worksheet[$i]['B']); $worksheet[$i]['Y'] = str_replace("'"," ",$worksheet[$i]['Y']); $worksheet[$i]['T'] = str_replace("'"," ",$worksheet[$i]['T']); $worksheet[$i]['V'] = str_replace("'"," ",$worksheet[$i]['V']); $worksheet[$i]['H'] = str_replace("'"," ",$worksheet[$i]['H']); $worksheet[$i]['E'] = strtoupper($worksheet[$i]['E']); $worksheet[$i]['A'] = strtoupper($worksheet[$i]['A']); if ($worksheet[$i]['E'] != '') { $sql = "INSERT INTO tabel (kolom1,kolom2,kolom3,kolom4,kolom5,kolom6,kolom7,kolom8,kolom9) VALUES ('".$worksheet[$i]['E']."','".$worksheet[$i]['A']."','".$worksheet[$i]['F']."','".$worksheet[$i]['B']."','".$worksheet[$i]['Y']."','".$worksheet[$i]['T']."','".$worksheet[$i]['T']."','".$worksheet[$i]['V']."','".$worksheet[$i]['H']."')"; if (mysqli_query($conn, $sql)) { $pesan= "Sukses Simpan Data!"; } else { Yii::app()->user->setFlash('sukses', 'File Gagal Diupload '); $this->redirect(array('master/index')); } } $no++; } Yii::app()->user->setFlash('sukses', 'Input Data Siswa Berhasil '); $this->redirect(array('master/index')); } else { Yii::app()->user->setFlash('sukses', 'File Gagal Diupload '); $this->redirect(array('master/upload')); } }
Rekap Nilai Rapor Jibas
select `tahunajaran`.`tahunajaran` AS `tahunajaran`, `semester`.`semester` AS `semester`, `siswa`.`nis` AS `nis`, `siswa`.`nama` AS `siswa`, `pelajaran`.`nama` AS `mapel`, `dasarpenilaian`.`keterangan` AS `keterangan`, `nap`.`nilaiangka` AS `nilaiangka`, `nap`.`nilaihuruf` AS `nilaihuruf`, `nap`.`komentar` AS `komentar` from (((((((((`nap` join `infonap` on ((`nap`.`idinfo` = `infonap`.`replid`))) join `aturannhb` on ((`nap`.`idaturan` = `aturannhb`.`replid`))) join `pelajaran` on ((`aturannhb`.`idpelajaran` = `pelajaran`.`replid`))) join `semester` on ((`infonap`.`idsemester` = `semester`.`replid`))) join `kelas` on ((`infonap`.`idkelas` = `kelas`.`replid`))) join `tahunajaran` on ((`kelas`.`idtahunajaran` = `tahunajaran`.`replid`))) join `jenisujian` on ((`aturannhb`.`idjenisujian` = `jenisujian`.`replid`))) join `dasarpenilaian` on ((`aturannhb`.`dasarpenilaian` = `dasarpenilaian`.`dasarpenilaian`))) join `siswa` on ((`nap`.`nis` = `siswa`.`nis`))) where ((`siswa`.`nis` like '%') and (not ((`nap`.`komentar` like '')))) order by `siswa`.`nis`, `infonap`.`idkelas`, `infonap`.`idsemester`, `pelajaran`.`nama`
Menghitung Jumlah Baris di PHP
$sum = 0; while($row=mysql_fetch_array($result)){ $id = $row['id']; $score = $row['score']; $sum += (int)$score; } echo $sum;
Memantau Kinerja Server
Memantau Kinerja Server dengan Aplikasi X-Prober
https://github.com/kmvan/x-prober
Cara redirect ke https
Untuk redirect http ke https tambahkan baris dibawah ini kedalam file .htaccess
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Mengubah Baris Ke Kolom di Mysql
select `tabel1`.`nip` AS `nip`, date_format(`tabel1`.`tgl`, '%d-%m-%Y') AS `tanggal`, year (`tabel1`.`tgl`) AS `tahun`, (case when (month (`tabel1`.`tgl`) < 4) then 'p1' when (month (`tabel1`.`tgl`) < 7) then 'p2' when (month (`tabel1`.`tgl`) < 10) then 'p3' when (month (`tabel1`.`tgl`) < 13) then 'p4' end) AS `periode`, max((case when (`tabel1`.`no` = 1) then `tabel1`.`nilai` end)) AS `s1`, max((case when (`tabel1`.`no` = 2) then `tabel1`.`nilai` end)) AS `s2`, max((case when (`tabel1`.`no` = 3) then `tabel1`.`nilai` end)) AS `s3`, max((case when (`tabel1`.`no` = 4) then `tabel1`.`nilai` end)) AS `s4`, max((case when (`tabel1`.`no` = 5) then `tabel1`.`nilai` end)) AS `s5`, max((case when (`tabel1`.`no` = 6) then `tabel1`.`nilai` end)) AS `s6`, max((case when (`tabel1`.`no` = 7) then `tabel1`.`nilai` end)) AS `s7`, max((case when (`tabel1`.`no` = 8) then `tabel1`.`nilai` end)) AS `s8`, max((case when (`tabel1`.`no` = 9) then `tabel1`.`nilai` end)) AS `s9`, max((case when (`tabel1`.`no` = 12) then `tabel1`.`nilai` end)) AS `s10`, max((case when (`tabel1`.`no` = 13) then `tabel1`.`nilai` end)) AS `s11`, max((case when (`tabel1`.`no` = 13) then `tabel1`.`nilai` end)) AS `s12` from `tabel1` group by `tabel1`.`nip`, date_format(`tabel1`.`tgl`, '%d%m%Y') order by `tabel1`.`tgl`
Pivot tabel yang lebih detail bisa ke link ini https://jagowebdev.com/pivot-table-dengan-mysql/