<?php
//--Class base_CourseInProgram--------------------------
//--PK of base_CourseInProgram ::
//    1. programId
//    2. conditionId1
//    3. conditionId2
//    4. courseId

include_once "Db.php";

class 
base_CourseInProgram extends Db{

var 
$result;
var 
$status;

var 
$programId;
var 
$conditionId1;
var 
$conditionId2;
var 
$courseId;
var 
$conditionType;
var 
$minGrade;
var 
$courseStatus;
var 
$courseName;
var 
$courseCode;
var 
$courseUnit;

function 
AddNew(){
//--ใช้เมธอดนี้เมื่อต้องการเพิ่มข้อมูลใหม่
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 1
    
$this->status 1;
}

function 
Edit(){
//--ใช้เมธอดนี้เมื่อต้องการปรับปรุงข้อมูล
//--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 2
    
$this->status 2;
}

function 
Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่  2 เป็นข้อมูลเดิม
    
if ($this->status==1){
        
//$this->Array=$this->GetNextCode();
        
$sql "insert into CourseInProgram values('$this->programId', '$this->conditionId1', '$this->conditionId2', '$this->courseId', '$this->conditionType', '$this->minGrade', '$this->courseStatus')";
    }else {
        
$sql "update CourseInProgram set conditionId1='$this->conditionId1', conditionId2='$this->conditionId2', courseId='$this->courseId', conditionType='$this->conditionType', minGrade='$this->minGrade', courseStatus='$this->courseStatus' where programId='$this->programId' and conditionId1='$this->conditionId1' and conditionId2='$this->conditionId2' and courseId='$this->courseId'";
    }
    
$this->SetQuery($sql);
}

function 
Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
    
$this->SetQuery("delete from CourseInProgram where programId='$this->programId' and conditionId1='$this->conditionId1' and conditionId2='$this->conditionId2' and courseId='$this->courseId'");
}

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

function 
RSCourseInProgram(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
    
$this->SetQuery("select * from CourseInProgram");
}

function 
GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
    
if ($this->result $this->GetResult()) {
        
$this->programId $this->result['programId'];
        
$this->conditionId1 $this->result['conditionId1'];
        
$this->conditionId2 $this->result['conditionId2'];
        
$this->courseId $this->result['courseId'];
        
$this->conditionType $this->result['conditionType'];
        
$this->minGrade $this->result['minGrade'];
        
$this->courseStatus $this->result['courseStatus'];
        
$this->courseName $this->result['courseName'];
        
$this->courseCode $this->result['courseCode'];
        
$this->courseUnit $this->result['courseUnit'];
        return 
1;
    }else {
        return 
0;
    }
}

function 
SearchByKey($xKey1$xKey2$xKey3$xKey4){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
    
if ($this->SetQuery("select * from CourseInProgram where programId='$xKey1' and conditionId1='$xKey2' and conditionId2='$xKey3' and courseId='$xKey4'")){
        return 
1;
    }else {
        return 
0;
    }
}

function 
NumRow(){
//--เป็นเมธอดที่คืนค่าจำนวนข้อมูลจากการ select โดยเมธอด RSxxxx
    
return $this->GetRowSelected();
}

function 
Destroy(){
//--เป็นเมธอดสำหรับปิดการติดต่อจากฐานข้อมูล
    
return $this->DestroyDb();
}

//****************** You can add new functions below **********************//


//--End class base_CourseInProgram--

?>