public function search($params) { $query = Diagnosa::find(); $dataProvider = new ActiveDataProvider(['query' => $query, 'sort' => ['defaultOrder' => ['penyakit_id' => 'DESC', 'gejala_id' => 'DESC']], 'pagination' => ['defaultPageSize' => 10]]); $this->load($params); if (!$this->validate()) { $query->where('1=0'); return $dataProvider; } $dataProvider->query->joinWith(['penyakit' => function ($q) { $q->from('penyakit p'); // join with tabel alias }]); $dataProvider->query->joinWith(['gejala' => function ($q) { $q->from('penyakit_gejala pg'); // join with tabel alias }]); $query->orFilterWhere(['like', 'p.nama_penyakit', $this->srch_all])->orFilterWhere(['like', 'pg.nama_gejala', $this->srch_all])->orFilterWhere(['like', 'mb', $this->srch_all])->orFilterWhere(['like', 'md', $this->srch_all]); // SELESAI EDIT DISINI return $dataProvider; }
protected function findModel($idp, $idg) { if (($model = Diagnosa::findOne(['penyakit_id' => $idp, 'gejala_id' => $idg])) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
<div class="diagnosa-user-index"> <h3><?php echo Html::encode($this->title); ?> </h3> <?php Pjax::begin(['id' => 'penyakit-gridview']); ?> <?php echo GridView::widget(['dataProvider' => $dataRekam, 'columns' => ['diagnosa_ke', ['attribute' => 'diagnosa_date', 'format' => 'raw', 'header' => 'Tanggal Diagnosa', 'value' => function ($data) { return date('d M Y', strtotime($data['diagnosa_date'])); }], ['attribute' => 'diagnosa_ke', 'format' => 'raw', 'header' => 'Penyakit Anda', 'value' => function ($data) { $dataRek = \common\models\Diagnosa::diagnosaRekam($data['diagnosa_ke']); $has = \common\models\Diagnosa::rekapDiagnosa($dataRek); return $has['nama_penyakit']; }], ['class' => 'yii\\grid\\ActionColumn', 'header' => 'Action', 'headerOptions' => ['width' => '180'], 'template' => '{detil}', 'buttons' => ['detil' => function ($url, $model) { return Html::a('<i class="glyphicon glyphicon-search"></i> Detil Data Diagnosa', ['detil-diagnosa', 'ke' => $model['diagnosa_ke']], ['class' => 'btn btn-primary btn-flat btn-block', 'data-toggle' => "modal", 'data-target' => "#myModal", 'data-title' => "<i class='glyphicon glyphicon-search'></i> DETIL INFORMASI HASIL REKAM DIAGNOSA"]); }]]]]); ?> <?php Pjax::end(); ?> </div>
echo "<tr>"; echo "<td>nama_penyakit<td>"; echo "<td>mb<td>"; echo "<td>md<td>"; echo "<td>hitung mb<td>"; echo "<td>hitung md<td>"; echo "<td>hitung cf<td>"; echo "</tr>"; foreach ($dd as $key => $value) { echo "<tr>"; echo "<td>" . $value['nama_penyakit'] . "<td>"; echo "<td>" . $value['mb'] . "<td>"; echo "<td>" . $value['md'] . "<td>"; echo "<td>" . Diagnosa::mbHtg(explode(',', $value['mb'])) . "<td>"; echo "<td>" . Diagnosa::mbHtg(explode(',', $value['md'])) . "<td>"; echo "<td>" . (Diagnosa::mbHtg(explode(',', $value['mb'])) - Diagnosa::mbHtg(explode(',', $value['md']))) . "<td>"; echo "</tr>"; } echo "</table>"; $c = 1; $cc = 0; $xxx = 0; for ($i = 0; $i < count($mb); $i++) { // echo 'mb = '.$mb[$i][0].'+'.$mb[$i][1].'='.($mb[$i][0]+$mb[$i][1]*(1-$mb[$i][0])).'<br>'; // echo 'md = '.$md[$i][0].'+'.$md[$i][1].'='.($md[$i][0]+$md[$i][1]*(1-$md[$i][0])).'<br>'; // $mb2[]=($mb[$i][0]+$mb[$i][1]*(1-$mb[$i][0])); // $md2[]=($md[$i][0]+$md[$i][1]*(1-$md[$i][0])); /* if($i>1){ $mb2[]=($mb2[$cc]+$mb[$i][$c]*(1-$mb2[$cc]));
public static function rekapDiagnosa($dd) { $hasil = array(); $cfmax = array(''); $cfmaxp = array(''); foreach ($dd as $key => $value) { $mbh = Diagnosa::mbHtg(explode(',', $value['mb'])); $mdh = Diagnosa::mbHtg(explode(',', $value['md'])); $cfh = Diagnosa::cfHtg($mbh, $mdh); $cfmax[] = $cfh; $cfmaxp[] = $value['nama_penyakit']; } $hasil = ['nilai' => Diagnosa::cfMax($cfmax, 'max'), 'nama_penyakit' => $cfmaxp[Diagnosa::cfMax($cfmax, 'key')]]; return $hasil; }
echo "<td>" . $mdh . "</td>"; echo "<td>" . $cfh . "</td>"; echo "</tr>"; } echo "</table>"; ?> <div class="rekam"> <div class="alert alert-success"> <p>Dari hasil perhitungan diagnosa yang sudah dilakukan, POIN tertinggi CF anda <strong> <?php echo Diagnosa::cfMax($cfmax, 'max'); ?> </strong></p> <p>dari hasil perhitungan yang sudah dilakukan anda terkena penyakit <strong> <?php echo $cfmaxp[Diagnosa::cfMax($cfmax, 'key')]; ?> </strong></p> <br> </div> <div class="alert alert-warning"> <strong> Perhitungan ini hanya merujuk pada hasil perhitungan CF dari nilai MB dan nilai MD yang sudah di tentukan oleh pakar dan bisa saja hasil dari diagnosa kurang akurat.</strong> <br> <strong> Silakan Ke dokter THT terdekat untuk penanganan lebih lanjut</strong> </div> </div> </div> </div>