* @since v.1.0 **/ public function __construct() { parent::__construct(); //Codeigniter : Write Less Do More } public function get_data() { $this->db->select('kalori.energi, konsumsi.user_id_user, user.nama, GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan, GROUP_CONCAT(bahan_makanan.urt SEPARATOR ", ") as urt, GROUP_CONCAT(bahan_makanan.energi SEPARATOR ", ") as energi, SUM(bahan_makanan.energi) as total_kalori'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->group_by('konsumsi.waktu'); $result = $this->db->get()->result(); // Menambahkan status kalori ke setiap entri dalam hasil foreach ($result as $record) { if ($record->total_kalori < $record->energi) { $record->kalori_status = "Kalori tidak tercukupi"; } else { $record->kalori_status = "Kalori mencukupi"; } } return $result; } public function get_data2($from, $till) { $this->db->select('konsumsi.waktu, bahan_makanan.nama_makanan, user.nama, SUM(bahan_makanan.energi) as total_kalori'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->group_by('konsumsi.waktu'); // Add WHERE conditions for date range $this->db->where('konsumsi.waktu >=', $from); $this->db->where('konsumsi.waktu <=', $till); $result = $this->db->get()->result(); return $result; } public function get_status() { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama, GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan, SUM(bahan_makanan.energi) as total_kalori, SUM(bahan_makanan.karbohidrat) as total_karbohidrat, SUM(bahan_makanan.protein) as total_protein, SUM(bahan_makanan.lemak) as total_lemak, SUM(bahan_makanan.besi) as total_besi, SUM(bahan_makanan.vitamina) as total_vitamina, SUM(bahan_makanan.vitaminc) as total_vitaminc, kalori.*'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->where('kalori.awal <=', 'user.umur'); $this->db->where('kalori.akhir >=', 'user.umur'); $this->db->where('kalori.jenis_kelamin', 'user.jekel'); $this->db->group_by('konsumsi.waktu'); $result = $this->db->get()->result(); // Menambahkan kondisi untuk memeriksa jika total kalori kurang dari target foreach ($result as $record) { if ($record->total_kalori < $record->kalori_target) { $record->kalori_status = "Kalori tidak tercukupi"; } else { $record->kalori_status = "Kalori mencukupi"; } } return $result; } public function get_status2() { $this->db->select('konsumsi.waktu, konsumsi.user_id_user, user.nama'); $this->db->select('GROUP_CONCAT(bahan_makanan.nama_makanan SEPARATOR ", ") as nama_makanan'); $this->db->select('SUM(bahan_makanan.energi) as total_kalori'); $this->db->select('SUM(bahan_makanan.karbohidrat) as total_karbohidrat'); $this->db->select('SUM(bahan_makanan.protein) as total_protein'); $this->db->select('SUM(bahan_makanan.lemak) as total_lemak'); $this->db->select('SUM(bahan_makanan.besi) as total_besi'); $this->db->select('SUM(bahan_makanan.vitamina) as total_vitamina'); $this->db->select('SUM(bahan_makanan.vitaminc) as total_vitaminc'); $this->db->select('kalori.*'); $this->db->from('bahan_makanan'); $this->db->join('konsumsi_detail', 'konsumsi_detail.id_makanan = bahan_makanan.id_makanan'); $this->db->join('konsumsi', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('user', 'user.id_user = konsumsi.user_id_user'); $this->db->join('kalori', 'kalori.jenis_kelamin = user.jekel'); $this->db->where('user.umur >= kalori.awal'); $this->db->where('user.umur <= kalori.akhir'); $this->db->group_by('konsumsi.waktu'); $query = $this->db->get()->result(); return $query; } public function getketer($id_user, $waktu, $keterangan) { $this->db->select( 'bahan_makanan.kategori, bahan_makanan.nama_makanan, bahan_makanan.kuantitas, ' . 'bahan_makanan.besaran, bahan_makanan.urt, bahan_makanan.energi, ' . 'bahan_makanan.karbohidrat, bahan_makanan.protein, bahan_makanan.lemak, ' . 'bahan_makanan.besi, bahan_makanan.vitamina, bahan_makanan.vitaminc, ' . 'konsumsi.idkonsumsi, konsumsi.waktu, bahan_makanan.id_makanan, ' . 'user.id_user, konsumsi.keterangan' ); $this->db->from('konsumsi'); $this->db->join('konsumsi_detail', 'konsumsi.idkonsumsi = konsumsi_detail.id_konsumsi'); $this->db->join('bahan_makanan', 'bahan_makanan.id_makanan = konsumsi_detail.id_makanan'); $this->db->join('user', 'konsumsi.user_id_user = user.id_user'); $this->db->where('id_user', $id_user); $this->db->where('waktu', $waktu); $this->db->where('keterangan', $keterangan); $query = $this->db->get(); return $query->result(); } }