<?php
//--Class Officer--------------------------
//--PK of Officer ::
//    1. officerId

class Officer extends clsDB{

var 
$result;

var 
$officerId;
var 
$officerCode;
var 
$officerPassword;
var 
$officerType;
var 
$prefixId;
var 
$officerName;
var 
$officerSurname;
var 
$officerNameEng;
var 
$officerSurnameEng;
var 
$officerEmail;
var 
$officerStatus;
var 
$remark;
var 
$contactAddress;
var 
$contactPhone;

function 
Officer(&$c){
    
$this->c=$c->c;
    
$this->DB=$c->db;
}

function 
Save(){
//--ข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม --1:ข้อมูลใหม่  2:ข้อมูลเดิม
    
if ($this->status==1){
        
//uncomment a line below if your table use ID as running number
        
$this->officerId=$this->GetNextCode();
        
$sql "insert into Officer values(
            '$this->officerId',
             '$this->officerCode',
             '$this->officerPassword',
             '$this->officerType',
             '$this->prefixId',
             '$this->officerName',
             '$this->officerSurname',
             '$this->officerNameEng',
             '$this->officerSurnameEng',
             '$this->officerEmail',
             '$this->officerStatus',
             '$this->remark',
             '$this->contactAddress',
             '$this->contactPhone'
            )"
;
    }else {
        
$sql "update Officer set 
            officerCode='$this->officerCode', 
            officerPassword='$this->officerPassword', 
            officerType='$this->officerType', 
            prefixId='$this->prefixId', 
            officerName='$this->officerName', 
            officerSurname='$this->officerSurname', 
            officerNameEng='$this->officerNameEng', 
            officerSurnameEng='$this->officerSurnameEng', 
            officerEmail='$this->officerEmail', 
            officerStatus='$this->officerStatus', 
            remark='$this->remark', 
            contactAddress='$this->contactAddress', 
            contactPhone='$this->contactPhone' 
            where officerId='$this->officerId'"
;
    }
    return 
$this->Dml($sql);
}

function 
Delete(){
//--ลบข้อมูลเดิมในอ๊อบเจ๊ก, เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
    
return $this->Dml("delete from Officer where officerId='$this->officerId'");
}

function 
GetNextCode(){
//--หาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ชนิดตัวเลขจำนวนเต็มเท่านั้น และไม่ได้กำหนดรหัสเองทางจอภาพ
    
$this->SetQuery("select max(officerId) as num from Officer");
    if (
$result=$this->GetResult()) {
        return 
$result['num']+1;
    }
}

function 
RSOfficer(){
//--เมธอดที่ขึ้นต้นด้วย RS (ResultSet) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ นำข้อมูลจาก ResultSet เข้าอ๊อบเจ๊ก
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from Officer order by officerId");
}

function 
GetRecord(){
//--นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
    
if ($this->result $this->GetResult()) {
        
$this->officerId $this->result['officerId'];
        
$this->officerCode $this->result['officerCode'];
        
$this->officerPassword $this->result['officerPassword'];
        
$this->officerType $this->result['officerType'];
        
$this->prefixId $this->result['prefixId'];
        
$this->officerName $this->result['officerName'];
        
$this->officerSurname $this->result['officerSurname'];
        
$this->officerNameEng $this->result['officerNameEng'];
        
$this->officerSurnameEng $this->result['officerSurnameEng'];
        
$this->officerEmail $this->result['officerEmail'];
        
$this->officerStatus $this->result['officerStatus'];
        
$this->remark $this->result['remark'];
        
$this->contactAddress $this->result['contactAddress'];
        
$this->contactPhone $this->result['contactPhone'];
        return 
1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey){
//--ค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from Officer where officerId= '$xKey'")){ 
        return 
1;
    }else {
        return 
0;
    }
}
//****************** You can add new functions below **********************//
function SearchByOfficerCode($code){
//--ค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from Officer where officerCode= '$code'")){ 
        return 
1;
    }else {
        return 
0;
    }
}

//--End class Officer--

?>