Viewing file: 2551-09-23-1.0.01-clsOfficerAssess.php (6.97 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class OfficerAssess--------------------------
//--PK of OfficerAssess ::
// 1. officerId
class OfficerAssess extends clsDB{
var $result;
var $officerId;
var $officerCode;
var $officerPassword;
var $officerType;
var $prefixName;
var $officerName;
var $officerSurname;
var $officerNameEng;
var $officerSurnameEng;
var $xbar;
var $sd;
function OfficerAssess(&$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 OfficerAssess values(
'$this->officerId',
'$this->officerCode',
'$this->officerPassword',
'$this->officerType',
'$this->prefixName',
'$this->officerName',
'$this->officerSurname',
'$this->officerNameEng',
'$this->officerSurnameEng'
)";
}else {
$sql = "update OfficerAssess set
officerCode='$this->officerCode',
officerPassword='$this->officerPassword',
officerType='$this->officerType',
prefixName='$this->prefixName',
officerName='$this->officerName',
officerSurname='$this->officerSurname',
officerNameEng='$this->officerNameEng',
officerSurnameEng='$this->officerSurnameEng'
where officerId='$this->officerId'";
}
return $this->Dml($sql);
}
function Delete(){
//--ลบข้อมูลเดิมในอ๊อบเจ๊ก, เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from OfficerAssess where officerId='$this->officerId'");
}
function GetNextCode(){
//--หาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ชนิดตัวเลขจำนวนเต็มเท่านั้น และไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(officerId) as num from OfficerAssess");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSOfficerAssess(){
//--เมธอดที่ขึ้นต้นด้วย RS (ResultSet) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ นำข้อมูลจาก ResultSet เข้าอ๊อบเจ๊ก
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from OfficerAssess 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->prefixName = $this->result['prefixName'];
$this->officerName = $this->result['officerName'];
$this->officerSurname = $this->result['officerSurname'];
$this->officerNameEng = $this->result['officerNameEng'];
$this->officerSurnameEng = $this->result['officerSurnameEng'];
$this->xbar = $this->result['xbar'];
$this->sd = $this->result['sd'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey){
//--ค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from OfficerAssess where officerId= '$xKey'")){
return 1;
}else {
return 0;
}
}
//****************** You can add new functions below **********************//
function DeleteOfficerAssess(){
return $this->Dml("delete from OfficerAssess");
}
function SearchByOfCode($xKey){
if ($this->SetQuery("select * from OfficerAssess where officerCode = '$xKey'")){
return 1;
}else {
return 0;
}
}
function CountTeacherAll(){
$this->SetQuery("select count(*) as num from OfficerAssess");
$result = $this->GetResult();
return $result['num'];
}
function SearchRSLimitOrderOfficerIdNameSur($xstart,$xpageSize){
if ($this->SetQuery("select * From OfficerAssess order by officerCode limit $xstart, $xpageSize")){
return 1;
}else {
return 0;
}
}
function RSOfficerAssessOrderNameSur(){
if ($this->SetQuery("select * from OfficerAssess order by officerName, officerSurname")){
return 1;
}else {
return 0;
}
}
function SearchAcadSemGpOfficerOrderNameSur($xacadYear,$xsemester){
if ($this->SetQuery("select * from ClassAssess A, ClassInStructorAssess B, OfficerAssess C where acadYear = '$xacadYear' and semester = '$xsemester' and A.classId = B.classId and B.officerId = C.officerId group by B.officerId order by officerName, officerSurname")){
return 1;
}else {
return 0;
}
}
function SearchAcadSemDefineGpOfficerOrderNameSurJoin4($xacadYear,$xsemester,$xdefineid){
if ($this->SetQuery("select * from ClassAssess A, ClassInStructorAssess B, OfficerAssess C, HoldCourse D where acadYear = '$xacadYear' and semester = '$xsemester' and defineid = '$xdefineid' and A.classId = D.classId and A.classId = B.classId and B.officerId = C.officerId group by B.officerId order by officerName, officerSurname")){
return 1;
}else {
return 0;
}
}
function SearchRSLikeOfficerCodeNameSurname($xofficerCode,$xofficerName,$xofficerSurname){
if ($this->SetQuery("select * from OfficerAssess where officerCode like '%$xofficerCode%' and officerName like '%$xofficerName%' and officerSurname like '%$xofficerSurname%'")){
return 1;
}else {
return 0;
}
}
//23/11/2006
function SearchResultICollageByAcadSemAssidDefineidSectionRQid($xacadYear,$xsemester,$xdefineid,$xsectionRQid){
if ($this->SetQuery("
select oa.officerId, oa.officerName, oa.officerSurname, inn.xbar, sqrt(inn.val - pow(inn.xbar,2)) as sd
from OfficerAssess oa,
(
SELECT oid1, total / ( dd * num ) as xbar, (sumpow2 / (dd * num)) as val
FROM
(
SELECT da.officerId as oid1, sum( point ) AS total, sum(point *point) AS sumpow2
FROM DefineAssessment df
INNER JOIN DoAssessment da ON df.defineid = da.defineid
INNER JOIN ResultRQ rrq ON rrq.doid = da.doid
WHERE df.acadYear = '$xacadYear'
AND df.semester = '$xsemester'
AND df.defineid = '$xdefineid'
AND rrq.sectionRQid = '$xsectionRQid'
group by da.officerId
)s1, (
SELECT da.officerId as oid2, count( * ) AS dd
FROM DefineAssessment df
INNER JOIN DoAssessment da ON df.defineid = da.defineid
WHERE df.acadYear = '$xacadYear'
AND df.semester = '$xsemester'
AND df.defineid = '$xdefineid'
group by da.officerId
)s2, (
SELECT da.officerId as oid3, count( DISTINCT RQid ) AS num
FROM DefineAssessment df
INNER JOIN DoAssessment da ON df.defineid = da.defineid
INNER JOIN ResultRQ rrq ON rrq.doid = da.doid
WHERE df.acadYear = '$xacadYear'
AND df.semester = '$xsemester'
AND df.defineid = '$xdefineid'
AND rrq.sectionRQid = '$xsectionRQid'
group by da.officerId
)s3
where oid1=oid2 and oid2=oid3
) inn
where oa.officerId=inn.oid1
order by 2,3
")){
return 1;
}else {
return 0;
}
}
} //--End class OfficerAssess--
?>
|