Viewing file: mo_rg_studentdomitory.php (5.3 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_StudentDomitory.php");
class Mo_rg_studentDomitory extends Da_rg_StudentDomitory {
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลการพักหอพักของนักศึกษาตามเงื่อนไข
*
* @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_StudentDomitory.*
* @todo use
*/
public function qrySdm($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_StudentDomitory
$c1
$c3
$c2";
$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_StudentDomitory.*, rg_Domitory.*
* @todo use
*/
// public function qrySdmJoinDm($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_StudentDomitory
// LEFT JOIN $this->rg_dbname.rg_Domitory ON sdmDmId=dmId
// $c1
// $c3
// $c2";
// $query = $this->db->query($sql);
// return $query;
// }
// use
public function qrySdmJnStdCur($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_StudentDomitory
INNER JOIN $this->rg_dbname.rg_Student ON sdmStdId=stdId
LEFT JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
LEFT JOIN $this->rg_dbname.rg_Curriculum ON stdCurId=curId
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
function qrySdmJoinPPC($condition="",$order="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy($order);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$sql = "SELECT sdm.*,
IF(pl1.plBuilding, pl1.plRmNo, pl1.hwName) AS hwName1,
pl2.hwName AS hwName2
FROM $this->rg_dbname.rg_StudentDomitory sdm
INNER JOIN $this->ppc_dbname.spc_Place pl1 ON sdmDmId = pl1.plHwId
LEFT JOIN $this->ppc_dbname.spc_Place pl2 ON pl1.plBuilding = pl2.plHwId
$c1
$c2";
$query = $this->db->query($sql);
return $query;
}
function getFull() {
/* Old Query
"SELECT * FROM $this->ppc_dbname.spc_Place
LEFT JOIN (
SELECT sdmDmId, COUNT(*) AS num
FROM $this->rg_dbname.rg_StudentDomitory
WHERE sdmDmId = ?
AND sdmAcY = ?
AND sdmTmId = ?
) AS tb ON plHwId = tb.sdmDmId
WHERE plHwId = ?
AND plCapacity <= IFNULL(tb.num, 0)
AND plBuilding IS NOT NULL";*/
$sql = "SELECT * FROM $this->ppc_dbname.spc_Place
WHERE plHwId = ?
AND plCapacity <= IFNULL(
(SELECT COUNT(*) AS num
FROM $this->rg_dbname.rg_StudentDomitory
WHERE sdmDmId = ?
AND sdmAcY = ?
AND sdmTmId = ?), 0)
AND plBuilding IS NOT NULL";
$query = $this->db->query($sql, array($this->sdmDmId, $this->sdmDmId, $this->sdmAcY, $this->sdmTmId));
//$query = $this->db->query($sql, array($this->sdmDmId, $this->sdmAcY, $this->sdmTmId, $this->sdmDmId));
return $query;
}
}
?>
|