sys_debug(); try { if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } $prm = $this->sys_input; } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } */ class Pamorfology extends MY_Controller { function index() { echo "Pamorfology Api"; } function search() { //$this->sys_debug(); try { //1. cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } //2. ambil parameter input $prm = $this->sys_input; $s_query = "%" . $prm["query"] . "%"; //2A. jumlah baris per page default 25 jika tidak di set $row_per_page = 25; if (isset($prm["row_per_page"])) $row_per_page = $prm["row_per_page"]; $page = 1; if (isset($prm["page"])) $page = $prm["page"]; $tot_count = 0; $sql_param = array($s_query); //3. hitung total rows $sql = "select count(*) as tot from pa_morfology where Pa_MorfologyName like ? and Pa_MorfologyIsActive='Y'"; $query = $this->db->query($sql,$sql_param); if ($query) { $tot_count = $query->result_array()[0]["tot"]; } else { $this->sys_error_db("pa_morfology count"); exit; } //4. cari records jika total count > 0 $rows = array(); if ($tot_count > 0) { //4A. start_limit set ke 0 jika negative atau > total count $start_limit = ($page - 1) * $row_per_page; if ($start_limit > $tot_count) { $start_limit = 0; } if ($start_limit < 0) { $start_limit = 0; } $sql = "select * from pa_morfology where Pa_MorfologyName like ? and Pa_MorfologyIsActive='Y' limit $start_limit,$row_per_page"; $query = $this->db->query($sql,$sql_param); if ($query) { $rows = $query->result_array(); } else { $this->sys_error_db("pa_morfology rows"); exit; } } $result = array ("total" => $tot_count, "records" => $rows); $this->sys_ok($result); } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function add() { //$this->sys_debug(); try { //1. cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } //1a. ambil userID dari token $tokenM_UserID = $this->sys_user["Pa_MorfologyUserID"]; //2. ambil parameter input $prm = $this->sys_input; //4. insert statement menggunakan explicit field name di sebutkan // untuk menghindari kesalahan karena penambahan field baru $sql = "insert into pa_morfology(Pa_MorfologyName, Pa_MorfologyUserID, Pa_MorfologyLastUpdate) values( ?,?, now())"; //4a. Create statment $query = $this->db->query($sql, array($prm["Pa_MorfologyName"],$tokenM_UserID) ); if ($query) { echo json_encode(array( "status" => "OK", "affected_rows" => $this->db->affected_rows(), "inserted_id" => $this->db->insert_id(), "message" => "", "data" => array() )); } else { $this->sys_error_db("pa_morfology insert"); exit; } } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function edit() { //$this->sys_debug(); try { //1. cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } //1a. ambil userID dari token $tokenM_UserID = $this->sys_user["Pa_MorfologyUserID"]; //2. ambil parameter input $prm = $this->sys_input; $sql = "update pa_morfology set Pa_MorfologyName = ?, Pa_MorfologyLastUpdate = now() , Pa_MorfologyUserID = ? where Pa_MorfologyID = ? "; $query = $this->db->query($sql, array( $prm["Pa_MorfologyName"], $tokenM_UserID, $prm["Pa_MorfologyID"] )); if ($query) { echo json_encode(array( "status" => "OK", "affected_rows" => $this->db->affected_rows(), "message" => "", "data" => array() )); } else { $this->sys_error_db("pa_morfology update"); exit; } } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } function delete() { //$this->sys_debug(); try { //1. cek token valid if (! $this->isLogin) { $this->sys_error("Invalid Token"); exit; } //1a. ambil userID dari token $tokenM_UserID = $this->sys_user["Pa_MorfologyUserID"]; //2. ambil parameter input $prm = $this->sys_input; $sql = "update pa_morfology set Pa_MorfologyIsActive = 'N', Pa_MorfologyLastUpdate = now(), Pa_MorfologyUserID = ? where Pa_MorfologyID = ? "; $query = $this->db->query($sql, array( $tokenM_UserID, $prm["Pa_MorfologyID"] )); if ($query) { echo json_encode(array( "status" => "OK", "affected_rows" => $this->db->affected_rows(), "message" => "", "data" => array() )); } else { $this->sys_error_db("pa_morfology delete"); exit; } } catch(Exception $exc) { $message = $exc->getMessage(); $this->sys_error($message); } } } ?>