Viewing file: mo_rg_studentactivity.php (6.72 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_StudentActivity.php");
class Mo_rg_studentactivity extends Da_rg_StudentActivity {
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลการทำกิจกรรมของนักศึกษา ตามเงื่อนไข
*
* @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_StudentActivity.*
* @todo use
*/
public function qrySac($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_StudentActivity
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
function qrystdActivityByAcYAndDateGroupActNameAndDate($acY, $dateFrom, $dateTo){
$sql = "SELECT * FROM $this->rg_dbname.rg_StudentActivity
WHERE sacAcY = ? AND sacFrDate >= ? AND sacToDate <= ?
GROUP BY sacName , sacFrDate , sacToDate
ORDER BY sacFrDate , sacToDate";
$query = $this->db->query($sql,array($acY, $dateFrom, $dateTo));
return $query;
}
function qrystdActivityGetCountStdIdByAcYAndActNameAndDate($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 COUNT(sacStdId) AS num FROM $this->rg_dbname.rg_StudentActivity
INNER JOIN $this->rg_dbname.rg_Student ON stdId = sacStdId
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
// **********************************
// ตรวจดูฟังก์ชั่นนี้ การส่ง parameter
function qrystaActivityJoinStdByAcYAndActNameAndStYAndDateAndPgId($acY, $actName, $stY, $dateFrom, $dateTo, $pgId){
$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 COUNT(sacStdId) AS num FROM $this->rg_dbname.rg_StudentActivity
INNER JOIN $this->rg_dbname.rg_Student ON stdId = sacStdId
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
// *********************************
// ตรวจดูฟังก์ชั่นนี้
function GetCountStIdByAcYAndActNameAndStYAndDateAndPgId($acY, $actName, $stY, $dateFrom, $dateTo, $pgId){
$this->SetQuery("select count(a.studentId) as num from StudentActivity a, StudentMaster m
where a.acadYear='$acY' and a.activityName='$actName' and a.classYear='$stY'
and a.dateFrom='$dateFrom' and a.dateTo='$dateTo'
and a.studentId=m.studentId and m.programId='$pgId'");
if ($result=$this->GetResult()) {
return $result['num'];
}
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลการทำกิจกรรมของนักศึกษา ข้อมูลเทอม และข้อมูลชั้นปีตามเงื่อนไข
*
* @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_StudentActivity.*, rg_Term.*, rg_StudyYear.*
* @todo use
*/
function qrySacJoinTmSy($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_StudentActivity
LEFT JOIN $this->rg_dbname.rg_Term ON sacTmId=tmId
LEFT JOIN $this->rg_dbname.rg_StudyYear ON sacSyId=syId
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาลำดับการทำกิจกรรมที่มากที่สุด ของนักศึกษาแต่ละคน
*
* @access public
* @param $sacStdId : รหัสนักศึกษา
* @return sacSeq : ลำดับการทำกิจการที่มากที่สุด
* @todo use
*/
function getNextSacSeqBySacStdId($sacStdId) {
$sql = "SELECT IFNULL(MAX(sacSeq),0) + 1 AS sacSeq
FROM $this->rg_dbname.rg_StudentActivity
WHERE sacStdId=?";
$query = $this->db->query($sql,array($sacStdId));
return $query->row()->sacSeq;
}
//@tod use
function qrySacBySacStdIdAndGEAdYJoinTmSy($sacStdId,$sacAcY) {
$sql = "SELECT * FROM $this->rg_dbname.rg_StudentActivity
LEFT JOIN rg_Term ON sacTmId=tmId
LEFT JOIN rg_StudyYear ON sacSyId=syId
WHERE sacStdId=?
AND sacAcY>=?";
$query = $this->db->query($sql,array($sacStdId,$sacAcY));
return $query;
}
//@tod use
public function qryBetweenDateNotSacStdId($sacFrDate,$sacToDate,$sacStdId) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_StudentActivity
WHERE sacToDate>=?
AND sacFrDate<=?
AND sacStdId=?";
$query = $this->db->query($sql,array($sacFrDate,$sacToDate,$sacStdId));
return $query;
}
}
?>
|