i have model method, the function is get data and sent it to view, but return is null, where is the error?
but when i changed $nilai_l = $row['under_l'];
to $nilai_l = 10;
it work, and 10 is sent to view, where is the error?
public function get_query_summary($param = "") {
$l = 'L';
$p = 'P';
$tahun_akademik = $this->session->userdata('tahun_akademik');
if (!empty($param["academic_year"])) {
$tahun_akademik = $param['academic_year'];
}
$this->db->select(''
. 'SUM(if((L.BERAT / (L.TINGGI * L.TINGGI / 10000)) < 18.5, 1, 0)) as under_l, '
. 'SUM(if((L.BERAT / (L.TINGGI * L.TINGGI / 10000)) > 18.5 AND (L.BERAT / (L.TINGGI * L.TINGGI / 10000)) < 22.9 , 1, 0)) as ideal_l,'
. 'SUM(if((L.BERAT / (L.TINGGI * L.TINGGI / 10000)) > 23 AND (L.BERAT / (L.TINGGI * L.TINGGI / 10000)) < 24.9 , 1, 0)) as warning_l,'
. 'SUM(if((L.BERAT / (L.TINGGI * L.TINGGI / 10000)) > 25 AND (L.BERAT / (L.TINGGI * L.TINGGI / 10000)) < 29.9 , 1, 0)) as obesitas1_l,'
. 'SUM(if((L.BERAT / (L.TINGGI * L.TINGGI / 10000)) > 30, 1, 0)) as obesitas2_l,'
. 'SUM(if((P.BERAT / (P.TINGGI * P.TINGGI / 10000)) < 18.5, 1, 0)) as under_p,'
. 'SUM(if((P.BERAT / (P.TINGGI * P.TINGGI / 10000)) > 18.5 AND (P.BERAT / (P.TINGGI * P.TINGGI / 10000)) < 22.9 , 1, 0)) as ideal_p,'
. 'SUM(if((P.BERAT / (P.TINGGI * P.TINGGI / 10000)) > 23 AND (P.BERAT / (P.TINGGI * P.TINGGI / 10000)) < 24.9 , 1, 0)) as warning_p,'
. 'SUM(if((P.BERAT / (P.TINGGI * P.TINGGI / 10000)) > 25 AND (P.BERAT / (P.TINGGI * P.TINGGI / 10000)) < 29.9 , 1, 0)) as obesitas1_p,'
. 'SUM(if((P.BERAT / (P.TINGGI * P.TINGGI / 10000)) > 30, 1, 0)) as obesitas2_p,'
. 'SUM(P.BERAT / (P.TINGGI * P.TINGGI / 10000)) as total')
->from('m_siswa A')
->join('tb_medical_wh L', "A.ID = L.ID_SISWA AND A.JENIS_KELAMIN = '$l' AND L.TAHUN_AKADEMIK = '$tahun_akademik'", 'left')
->join('tb_medical_wh P', "A.ID = P.ID_SISWA AND A.JENIS_KELAMIN = '$p' AND P.TAHUN_AKADEMIK = '$tahun_akademik'", 'left');
}
public function get_list_html_summary($param) {
$this->get_query_summary($param);
$data = $this->get_datatables();
$records["list"] = [];
$month = array('Obesitas' => 0, 'Obesitas awal' => 0, 'Warning' => 0, 'Ideal' => 0, 'Underweight' => 0);
foreach ($month as $key => $row) {
$nilai_l = 0;
$nilai_p = 0;
$total = 0;
switch ($key) {
case 'Underweight':
$nilai_l = $row['under_l'];
$nilai_p = $row['under_p'];
//$total = $row['under_l']+$row['under_p'];
break;
case 'Ideal':
$nilai_l = $row['ideal_l'];
$nilai_p = $row['ideal_p'];
//$total = 23;
break;
case 'Warning';
$nilai_l = $row['warning_l'];
$nilai_p = $row['warning_p'];
//$total = 33;
break;
case 'Obesitas awal';
$nilai_l = $row['obesitas1_l'];
$nilai_p = $row['obesitas1_p'];
//$total = 43;
break;
case 'Obesitas';
$nilai_l = $row['obesitas2_l'];
$nilai_p = $row['obesitas2_p'];
//$total = 53;
break;
}
$records["list"][] = array(
$key,
$nilai_l,
$nilai_p,
$total
);
}
return $records;
}