Viewing file: mo_rg_adviser.php (6.03 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_Adviser.php");
class Mo_rg_adviser extends Da_rg_Adviser {
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลอาจารย์ที่ปรึกษาตามเงื่อนไข
*
* @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_Adviser.*
* @todo use
*/
public function qryAdv($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_Adviser
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลอาจารย์ที่ปรึกษา คำนำหน้าชื่อ ชื่อ และนามสกุลตามเงื่อนไข
*
* @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_Adviser.*, $db_ppc.Person.*, $db_ppc.Prefix.*
* @todo use
*/
public function qryAdvJoinPrs($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 GROUP_CONCAT(IF(prsItId=1, CONCAT(pf.prefixName,ps.fName,' ',ps.lName), CONCAT(pfo.prefixName,pso.fName,' ',pso.lName)) SEPARATOR '<br />') AS prsNames
FROM $this->rg_dbname.rg_Adviser
LEFT JOIN $this->rg_dbname.rg_Person prs ON advPrsId = prs.prsId
LEFT JOIN $this->ppc_dbname.Person ps ON prs.prsUsId = ps.personId
LEFT JOIN $this->ppc_dbname.Prefix pf ON ps.prefixId = pf.prefixId
LEFT JOIN $this->ppc_dbname.Personout pso ON prs.prsUsId = pso.psoutId
LEFT JOIN $this->ppc_dbname.Prefix pfo ON pso.prefixId = pfo.prefixId
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
public function qryAdvJoinPrsList($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 GROUP_CONCAT(IF(prsItId=1, CONCAT(pf.prefixName,ps.fName,' ',ps.lName), CONCAT(pfo.prefixName,pso.fName,' ',pso.lName)) SEPARATOR ', ') AS prsNames
FROM $this->rg_dbname.rg_Adviser
LEFT JOIN $this->rg_dbname.rg_Person prs ON advPrsId = prs.prsId
LEFT JOIN $this->ppc_dbname.Person ps ON prs.prsUsId = ps.personId
LEFT JOIN $this->ppc_dbname.Prefix pf ON ps.prefixId = pf.prefixId
LEFT JOIN $this->ppc_dbname.Personout pso ON prs.prsUsId = pso.psoutId
LEFT JOIN $this->ppc_dbname.Prefix pfo ON pso.prefixId = pfo.prefixId
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
function getCountStd($condition="") {
$where = $this->checkCondition($condition);
$c1 = substr($where, 0, -3);
$sql = "SELECT COUNT(advStdId) AS num
FROM $this->rg_dbname.rg_Adviser
INNER JOIN $this->rg_dbname.rg_Student ON advStdId = stdId
$c1";
$query = $this->db->query($sql);
return $query->row()->num;
}
function qryAdvJoinStd($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_Adviser
INNER JOIN $this->rg_dbname.rg_Student ON advStdId=stdId
INNER JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
$c1
$c2";
$query = $this->db->query($sql);
return $query;
}
function qryAdvJoinStdLastAcY($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_Adviser`
INNER JOIN (SELECT advStdId as adStd,max(`advAcY`) as maxY
FROM $this->rg_dbname.`rg_Adviser`
group by `advStdId`)stdMaxY
ON advStdId = adStd AND maxY = `advAcY`
INNER JOIN $this->rg_dbname.rg_Student ON advStdId=stdId
INNER JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
$c1
$c2";
$query = $this->db->query($sql);
return $query;
}
}
?>
|