Viewing file: mo_rg_programcourses.php (8.45 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_ProgramCourses.php");
class mo_rg_programcourses extends Da_rg_ProgramCourses {
/**
* หน้าที่ของฟังก์ชั่น คือ ต่อสตริงของ sql->order by รูปแบบ 2
*
* @access public
* @param array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value)
* @return string con โดยอยู่ในรูปแบบ ORDER $field
*/
public function checkOrderBy2($condition="") {
$con = "";
if($condition) {
$con .= "ORDER BY";
foreach ($condition as $key => $value) {
if($key=="curName") {
$con .= " CONVERT ($value USING tis620),";
} else {
$con .= " $value ,";
}
}
}
return $con;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หารายวิชาตามเงื่อนไข
*
* @access public
* @param array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
* @param array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ ORDER BY
* @param array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม GROUP BY
* @return query >= 1 rows : rg_programcourses.*
* @todo use
*/
public function qryPcr($condition="",$order="",$group="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$group = $this->checkGroupBy($group);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$c3 = substr($group, 0, -1);
$sql = "SELECT *
FROM $this->rg_dbname.rg_ProgramCourses
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
function qryPcrJoinCrs($condition="",$order="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$sql = "SELECT *
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Course ON pcrCrsId = crsId
$c1
$c2";
$query = $this->db->query($sql);
return $query;
}
function qryPcrJoinCur($condition="",$order="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$sql = "SELECT *
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId = curId
$c1
$c2";
$query = $this->db->query($sql);
return $query;
}
function qryPcrJoinCurGroupCdId1CdId2($condition="") {
$where = $this->checkCondition($condition);
$c1 = substr($where, 0, -3);
$sql = "SELECT pcrCsCdId1, pcrCsCdId2
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId = curId
$c1
GROUP BY pcrCsCdId1, pcrCsCdId2";
$query = $this->db->query($sql);
return $query;
}
/**
* @todo use
*/
public function qryPcrIsNotCo($crsCode,$crsName,$crsNameE,$curId) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_Course
RIGHT JOIN $this->rg_dbname.rg_ProgramCourses ON crsId=pcrCrsId
LEFT JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId=curId
WHERE crsCode LIKE ?
AND crsName LIKE ?
AND crsNameE LIKE ?
AND pcrCsCurId=?
AND crsId NOT IN (SELECT coCrsId
FROM $this->rg_dbname.rg_CourseOpen
WHERE coCurId=?)";
$query = $this->db->query($sql,array("%".$crsCode."%","%".$crsName."%","%".$crsNameE."%",$curId,$curId));
return $query;
}
/**
* @todo use
*/
public function qryCurInPcr($condition="",$order="",$group="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy2($order);
$group = $this->checkGroupBy($group);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$c3 = substr($group, 0, -1);
$sql = "SELECT *
FROM $this->rg_dbname.rg_ProgramCourses
LEFT JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId=curId
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ ค้นหารายวิชาในหลักสูตร ประจำเมนู
*
* @access public
* @param array condition
* @return string con
*/
public function qrySearchCrsInCo($curId, $coSyId, $coTmId, $coAcY, $crsCode, $crsName, $crsNameE) {
if($curId==NULL) {
$sql = "SELECT rg_ProgramCourses.*, rg_Course.*, GROUP_CONCAT(curId) AS curId, GROUP_CONCAT(curName) AS curName
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Course ON pcrCrsId=crsId
INNER JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId=curId
WHERE crsCode LIKE ?
AND crsName LIKE ?
AND crsNameE LIKE ?
AND crsStatus='Y'
AND crsId NOT IN (SELECT coCrsId
FROM $this->rg_dbname.rg_CourseOpen
WHERE coCurId IS NULL
AND coAcY=?
AND coSyId=?
AND coTmId=?
GROUP BY coCrsId)
GROUP BY crsId";
$query = $this->db->query($sql,array("%".$crsCode."%", "%".$crsName."%", "%".$crsNameE."%",$coAcY,$coSyId,$coTmId));
} else {
$sql = "SELECT rg_ProgramCourses.*, rg_Course.*, curId, curName
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Course ON pcrCrsId=crsId
INNER JOIN $this->rg_dbname.rg_Curriculum ON pcrCsCurId=curId
WHERE crsCode LIKE ?
AND crsName LIKE ?
AND crsNameE LIKE ?
AND crsStatus='Y'
AND pcrCsCurId=?
AND pcrCrsId NOT IN (SELECT coCrsId
FROM $this->rg_dbname.rg_CourseOpen
WHERE coCurId=?
AND coSyId=?
AND coTmId=?
AND coAcY=?
GROUP BY coCrsId
UNION
SELECT coCrsId
FROM $this->rg_dbname.rg_CourseOpen
INNER JOIN rg_CourseOpenFor ON coId=cofCoId
WHERE coCurId IS NULL
AND coSyId=?
AND coTmId=?
AND coAcY=?
AND cofCurId=?
GROUP BY coCrsId)";
$query = $this->db->query($sql,array("%".$crsCode."%", "%".$crsName."%", "%".$crsNameE."%",$curId,$curId,$coSyId,$coTmId,$coAcY,$coSyId,$coTmId,$coAcY,$curId));
}
return $query;
}
// -- ค้นหา รายวิชา
function qryCrsByCd(){
$sql = "SELECT *
FROM $this->rg_dbname.rg_ProgramCourses
INNER JOIN $this->rg_dbname.rg_Course cd ON pcrCrsId = crsId
WHERE pcrCsCurId = ?
AND pcrCsCdId1 = ?
AND pcrCsCdId2 = ?
ORDER BY crsCode
";
$query = $this->db->query($sql, array($this->pcrCsCurId, $this->pcrCsCdId1, $this->pcrCsCdId2));
return $query;
}
//ค้นหารายวิชา จาก Condition
public function qryByCsCurIdAndCsCdId1($csCurId, $csCdId1) {
$sql = "SELECT pcr.*, crs.crsCode, crs.crsName, crs.crsUnit
FROM $this->rg_dbname.rg_ProgramCourses pcr, $this->rg_dbname.rg_Course crs
WHERE pcrCsCurId=?
AND pcrCsCdId1=?
AND pcrStatus='Y'
AND pcrCrsId NOT IN (
SELECT spCrsId
FROM $this->rg_dbname.rg_StudyPlan
WHERE spCurId=?
)
AND pcrCrsId=crsId";
$query = $this->db->query($sql, array($csCurId, $csCdId1, $csCurId));
return $query;
}
function deleteNoCrsId() {
// if there is no primary key, please remove WHERE clause.
$sql = "DELETE FROM $this->rg_dbname.rg_ProgramCourses
WHERE pcrCsCurId=? AND pcrCsCdId1=? AND pcrCsCdId2=?";
$this->db->query($sql, array($this->pcrCsCurId, $this->pcrCsCdId1, $this->pcrCsCdId2));
}
function findCurPubStaY($crsId){
$sql = "SELECT * FROM `rg_ProgramCourses` pc INNER JOIN rg_CurriculumPublic cp ON pcrCsCurId=cpubCurId where `pcrCrsId` = '$crsId' and cpubPublic = 'Y'";
$query = $this->db->query($sql);
return $query;
}
} // end class mo_rg_programcourses
?>
|