Viewing file: clsTimeTableAssess.php (11.23 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class TimeTableAssess--------------------------
//--PK of TimeTableAssess ::
// 1. ttId
// 2. ttClId
// 3. ttDyId
// 4. ttFrPr
// 5. ttToPr
// 6. ttOfId
// 7. ttSstId
class TimeTableAssess 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;
//var $mepName;
//var $sepName;
function TimeTableAssess(&$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 TimeTableAssess 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 TimeTableAssess 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 TimeTableAssess 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 TimeTableAssess");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSTimeTableAssess(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from TimeTableAssess");
}
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'];
// $this->mepName = $this->result['mepName'];
// $this->sepName = $this->result['sepName'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey1, $xKey2, $xKey3, $xKey4, $xKey5, $xKey6, $xKey7){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from TimeTableAssess 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 DeleteTimeTableByAcadSem($xacadYear,$xsemester){
return $this->Dml("delete tt.* from TimeTableAssess tt
join ClassAssess ca
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function searchDistinctClIdByAcadSem($xacadYear,$xsemester){
return $this->SetQuery("select distinct ttClId
from TimeTableAssess
join ClassAssess
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function searchByClIdAcadSem($cl,$acadYear,$semester){
return $this->SetQuery("select *
from TimeTableAssess
join ClassAssess
on ttClId=classId
where acadYear='$acadYear'
and semester='$semester'
and ttClId='$cl'
order by ttWdAcYWeekNo,ttDyId ,ttFrPr");
}
//-------------
function RSTimeTableByAcYSeM($xacadYear, $xsemester){
$this->SetQuery("select tt.* from TimeTableAssess tt
join ClassAssess ca
on ttClId=classId
where acadYear='$xacadYear'
and semester='$xsemester'");
}
function RSClIdAcYTmAndBetweenSCDate($cl,$acY,$tm,$scDate){
$this->SetQuery("SELECT tt.* FROM TimeTableAssess 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 TimeTableAssess
where ttClId='$xKey'
group by ttClId, ttOfId");
}
function RSTimeTableByWdAcYWeekLessthenThisWeek($cl,$acY,$tm,$scDate){
$this->SetQuery("SELECT distinct tt FROM TimeTableAssess 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 TimeTableAssess WHERE ttId='$key' order by ttWdAcYWeekNo,ttFrPr");
}
function RSDistinctClassId(){
$this->SetQuery("select distinct tt.ttClId
from TimeTableAssess tt
join ( select *
from HoldCourseTmp
where 1
)A
on tt.ttId=A.ttId");
}
function RSDistinctClassIdJoinHC($defineid){
$this->SetQuery("select distinct tt.ttClId
from TimeTableAssess tt
join ( select *
from HoldCourse
where defineid='$defineid'
)A
on tt.ttId=A.ttId");
}
function RSJoinHCByDefineidClId($defineid,$cl){
$this->SetQuery("select tt.*
from TimeTableAssess 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 TimeTableAssess 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 TimeTableAssess
where ttClId=$classId order by ttOfId");
}
function RSJoinHCByDefineidClIdOfId($defineid,$cl,$Of){
$this->SetQuery("select tt.*
from TimeTableAssess 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 TimeTableAssess
where ttClId = '$cl' and ttOfId = '$Of'");
}
function SearchByClassIdWeekNoOrderMaxDyId($cl,$wd){
$this->SetQuery("select * from TimeTableAssess
where ttClId='$cl'
and ttWdAcYWeekNo = '$wd'
order by ttDyId desc ");
}
function RSTimeTableAssessByClId($clId){
$this->SetQuery("select * from TimeTableAssess where ttClId='$clId'");
}
function RSMepSepByClassId($cl) {
$this->SetQuery("SELECT mep.mepId AS ttEpMepId , sep.sepId AS ttEpSepId
FROM TimeTableAssess tt
JOIN ea_MainExternalPlace mep ON ttEpMepId = mepId
JOIN ea_SubExternalPlace sep ON ttEpSepId = sepId
WHERE ttClId = '$cl'
GROUP BY mepId, sepId
");
}
function RSHoldPlaceByAcYSePgCo($acY,$se,$pg,$co){
$sql = "
SELECT mep.mepId AS ttEpMepId , sep.sepId AS ttEpSepId
FROM ClassAssess cl
JOIN TimeTableAssess tt
ON ttClId = cl.classId
JOIN ea_MainExternalPlace mep
ON ttEpMepId = mepId
JOIN ea_SubExternalPlace sep
ON ttEpSepId = sepId
LEFT JOIN ClassOpenForAssess cof
ON cl.classId = cof.classId
WHERE acadYear = '$acY'
AND semester = '$se'
AND ( cl.programId = '$pg' OR cof.programId = '$pg' )
AND courseId = '$co'
GROUP BY mepId, sepId
";
if($this->SetQuery($sql))
{
return 1;
}else{
return 0;
}
}
function RSMainPlaceByAcYSePgCo($acY,$se,$pg,$co){
$sql = "
SELECT DISTINCT (ttEpMepId)
FROM ClassAssess cl
JOIN TimeTableAssess tt ON tt.ttClId = cl.classId
LEFT JOIN ClassOpenForAssess cof ON cl.classId = cof.classId
WHERE acadYear = '$acY'
AND semester = '$se'
AND cl.courseId = '$co'
AND (
cl.programId = '$pg'
OR cof.programId = '$pg'
)
ORDER BY ttEpMepId
";
if($this->SetQuery($sql))
{
return 1;
}else{
return 0;
}
}
function RSSubPlaceByAcYSePgCoMep($acY,$se,$pg,$co,$mep){
$sql = "
SELECT DISTINCT (ttEpSepId)
FROM ClassAssess cl
JOIN TimeTableAssess tt ON tt.ttClId = cl.classId
JOIN ea_ExternalPlace ep ON epSepId = ttEpSepId
LEFT JOIN ClassOpenForAssess cof ON cl.classId = cof.classId
WHERE acadYear = '$acY'
AND semester = '$se'
AND cl.courseId = '$co'
AND epMepId = '$mep'
AND (
cl.programId = '$pg'
OR cof.programId = '$pg'
)
ORDER BY ttEpSepId
";
if($this->SetQuery($sql))
{
return 1;
}else{
return 0;
}
}
//--End class TimeTableAssess--
}
?>
|