Viewing file: 2552-12-09-1.0.02-clsTimeTableAssessTmp.php (9.95 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class TimeTableAssessTmp--------------------------
//--PK of TimeTableAssessTmp ::
// 1. ttId
// 2. ttClId
// 3. ttDyId
// 4. ttFrPr
// 5. ttToPr
// 6. ttOfId
// 7. ttSstId
class TimeTableAssessTmp extends clsDB{
var $result;
var $status;
var $ttId;
var $ttClId;
var $ttWdAcYWeekNo;
var $ttDyId;
var $ttFrPr;
var $ttToPr;
var $ttOfId;
var $ttSstId;
var $ttTitle;
var $ttRmId;
var $ttEpMepId;
var $ttEpSepId;
function TimeTableAssessTmp(&$c){
$this->c=$c->c;
$this->DB=$c->db;
}
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 TimeTableAssessTmp values('$this->ttId', '$this->ttClId', '$this->ttWdAcYWeekNo', '$this->ttDyId', '$this->ttFrPr', '$this->ttToPr', '$this->ttOfId', '$this->ttSstId', '$this->ttTitle', '$this->ttRmId', '$this->ttEpMepId', '$this->ttEpSepId')";
}else {
$sql = "update TimeTableAssessTmp set ttClId='$this->ttClId', ttWdAcYWeekNo='$this->ttWdAcYWeekNo', ttDyId='$this->ttDyId', ttFrPr='$this->ttFrPr', ttToPr='$this->ttToPr', ttOfId='$this->ttOfId', ttSstId='$this->ttSstId', ttTitle='$this->ttTitle', ttRmId='$this->ttRmId', ttEpMepId='$this->ttEpMepId', ttEpSepId='$this->ttEpSepId' where ttId='$this->ttId' and ttClId='$this->ttClId' and ttDyId='$this->ttDyId' and ttFrPr='$this->ttFrPr' and ttToPr='$this->ttToPr' and ttOfId='$this->ttOfId' and ttSstId='$this->ttSstId'";
}
$this->SetQuery($sql);
}
function Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
$this->SetQuery("delete from TimeTableAssessTmp where ttId='$this->ttId' and ttClId='$this->ttClId' and ttDyId='$this->ttDyId' and ttFrPr='$this->ttFrPr' and ttToPr='$this->ttToPr' and ttOfId='$this->ttOfId' and ttSstId='$this->ttSstId'");
}
function GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(ttId) as num from TimeTableAssessTmp");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSTimeTableAssessTmp(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from TimeTableAssessTmp");
}
function GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
if ($this->result = $this->GetResult()) {
$this->ttId = $this->result['ttId'];
$this->ttClId = $this->result['ttClId'];
$this->ttWdAcYWeekNo = $this->result['ttWdAcYWeekNo'];
$this->ttDyId = $this->result['ttDyId'];
$this->ttFrPr = $this->result['ttFrPr'];
$this->ttToPr = $this->result['ttToPr'];
$this->ttOfId = $this->result['ttOfId'];
$this->ttSstId = $this->result['ttSstId'];
$this->ttTitle = $this->result['ttTitle'];
$this->ttRmId = $this->result['ttRmId'];
$this->ttEpMepId = $this->result['ttEpMepId'];
$this->ttEpSepId = $this->result['ttEpSepId'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey1, $xKey2, $xKey3, $xKey4, $xKey5, $xKey6, $xKey7){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from TimeTableAssessTmp where ttId='$xKey1' and ttClId='$xKey2' and ttDyId='$xKey3' and ttFrPr='$xKey4' and ttToPr='$xKey5' and ttOfId='$xKey6' and ttSstId='$xKey7'")){
return 1;
}else {
return 0;
}
}
function NumRow(){
//--เป็นเมธอดที่คืนค่าจำนวนข้อมูลจากการ select โดยเมธอด RSxxxx
return $this->GetRowSelected();
}
function Destroy(){
//--เป็นเมธอดสำหรับปิดการติดต่อจากฐานข้อมูล
return $this->DestroyDb();
}
//****************** You can add new functions below **********************//
function DeleteAll(){
$this->SetQuery("delete from TimeTableAssessTmp where 1");
}
function DeleteTimeTableByAcadSem($xacadYear,$xsemester){
return $this->Dml("delete tt.* from TimeTableAssessTmp tt
join ClassAssessTmp ca
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function searchDistinctClIdByAcadSem($xacadYear,$xsemester){
return $this->SetQuery("select distinct ttClId
from TimeTableAssessTmp
join ClassAssessTmp
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function searchByClIdAcadSem($cl,$acadYear,$semester){
return $this->SetQuery("select *
from TimeTableAssessTmp
join ClassAssessTmp
on ttClId=classId
where acadYear='$acadYear'
and semester='$semester'
and ttClId='$cl'
order by ttWdAcYWeekNo,ttFrPr");
}
//-------------
function RSTimeTableByAcYSeM($xacadYear, $xsemester){
$this->SetQuery("select tt.* from TimeTableAssessTmp tt
join ClassAssessTmp ca
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function RSClIdAcYTmAndBetweenSCDate($cl,$acY,$tm,$scDate){
$this->SetQuery("SELECT tt.* FROM TimeTableAssessTmp tt
JOIN WeekDateAssess wd
ON ttWdAcYWeekNo=wdAcYWeekNo
WHERE ttClId='$cl'
and wdAcY='$acY'
and wdTmId='$tm'
and '$scDate'
between wdFrDate
and wdToDate ");
}
function SearchByClassIdGroupOfficerId($xKey){
$this->SetQuery("select * from TimeTableAssessTmp
where ttClId='$xKey'
group by ttClId, ttOfId");
}
function RSTimeTableByWdAcYWeekLessthenThisWeek($cl,$acY,$tm,$scDate){
$this->SetQuery("SELECT distinct tt FROM TimeTableAssessTmp tt
JOIN WeekDateAssess wd
ON ttWdAcYWeekNo=wdAcYWeekNo
WHERE ttClId='322'
and wdAcY='$acY'
and wdTmId='$tm'
and wdAcYWeekNo <= (
select wdAcYWeekNo
from WeekDateAssess
where '$scDate'
between wdFrDate and wdToDate
and wdAcY='$acY'
and wdTmId='$tm'
)
");
}
function SearchTimeTableByttId($key){
$this->SetQuery("SELECT * FROM TimeTableAssessTmp WHERE ttId='$key' order by ttWdAcYWeekNo,ttFrPr");
}
function RSDistinctClassId(){
$this->SetQuery("select distinct tt.ttClId
from TimeTableAssessTmp tt
join ( select *
from HoldCourseTmp
where 1
)A
on tt.ttId=A.ttId");
}
function RSDistinctClassIdJoinHC($defineid){
$this->SetQuery("select distinct tt.ttClId
from TimeTableAssessTmp tt
join ( select *
from HoldCourse
where defineid='$defineid'
)A
on tt.ttId=A.ttId");
}
function RSJoinHCByDefineidClId($defineid,$cl){
$this->SetQuery("select tt.*
from TimeTableAssessTmp tt
join ( select *
from HoldCourse
where defineid='$defineid'
)A
on tt.ttId=A.ttId
where tt.ttClId='$cl'
order by ttWdAcYWeekNo,ttFrPr");
}
function RSJoinHCByDefineidClIdNotIsPre($defineid,$cl,$wd,$day){
$this->SetQuery("select tt.*
from TimeTableAssessTmp tt
join ( select *
from HoldCourse
where defineid='$defineid'
)A
on tt.ttId=A.ttId
where tt.ttClId='$cl'
and ttWdAcYWeekNo <= '$wd' and ttDyId < '$day'
order by ttWdAcYWeekNo,ttFrPr");
}
function RSDistinctOfId($classId){
$this->SetQuery("select distinct ttOfId
from TimeTableAssessTmp
where ttClId=$classId order by ttOfId");
}
function RSJoinHCByDefineidClIdOfId($defineid,$cl,$Of){
$this->SetQuery("select tt.*
from TimeTableAssessTmp tt
join ( select *
from HoldCourse
where defineid='$defineid'
)A
on tt.ttId=A.ttId
where tt.ttClId='$cl'
and tt.ttOfId='$Of'
order by ttWdAcYWeekNo,ttFrPr");
}
function SearchMaxWeekByClIdOfId($cl,$Of){
$this->SetQuery("select max(ttWdAcYWeekNo) as ttWdAcYWeekNo from TimeTableAssessTmp
where ttClId = '$cl' and ttOfId = '$Of'");
}
function SearchByClassIdWeekNo($cl,$wd){
$this->SetQuery("select * from TimeTableAssessTmp
where ttClId='$cl'
and ttWdAcYWeekNo = '$wd' ");
}
function RSTimeTableAssessByClId($clId){
$this->SetQuery("select * from TimeTableAssessTmp where ttClId='$clId'");
}
function RSAddTimetable($xClassId){
$this->SetQuery("select * from TimeTableAssessTmp tt1
where tt1.ttClId = '$xClassId' and ttId NOT IN
(select ttId from TimeTableAssess tt2 where tt2.ttClId = '$xClassId')
order by ttId");
}
function RSDeleteTimetable($xAcY,$xTm,$xClassId){
$this->SetQuery("select tt.* from TimeTableAssess tt
join ClassAssess ca on ca.classId = tt.ttClId
where ca.acadYear = '$xAcY' and ca.semester = '$xTm'
and ca.classId = '$xClassId' and ttId NOT IN
(select ttId from TimeTableAssessTmp )
order by ttId");
}
function RSEditTimetable($xClassId){
$this->SetQuery("select tt1.* from TimeTableAssessTmp tt1
inner join TimeTableAssess tt2
on (tt1.ttId,tt1.ttClId,tt1.ttMainPlace,tt1.ttSubPlace,
tt1.ttFlagPlace,tt1.ttWdAcYWeekNo,tt1.ttDyId,tt1.ttFrPr,
tt1.ttToPr,tt1.ttOfId,tt1.ttSstId,tt1.ttTitle
)!=
(tt2.ttId,tt2.ttClId,tt2.ttMainPlace,tt2.ttSubPlace,
tt2.ttFlagPlace,tt2.ttWdAcYWeekNo,tt2.ttDyId,tt2.ttFrPr,
tt2.ttToPr,tt2.ttOfId,tt2.ttSstId,tt2.ttTitle
)
where tt1.ttId = tt2.ttId && tt1.ttClId = '$xClassId'");
}
//--End class TimeTableAssessTmp--
}
?>
|