Viewing file: mo_rg_nostudydate.php (9.33 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
include_once("da_rg_NoStudyDate.php");
class Mo_rg_nostudydate extends Da_rg_NoStudyDate {
public function checkOrderBy_2($condition="") {
$con = "";
if($condition) {
$con .= "ORDER BY";
foreach ($condition as $key => $value) {
$con .= " $key $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_NoStudyDate.*
*/
public function qryNsd($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_NoStudyDate
$c1
$c3
$c2";
$query = $this->db->query($sql);
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลวันที่ไม่ให้จัดการเรียนการสอนตามเงื่อนไข รูปแบบที่ 2
*
* @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_NoStudyDate.*
*/
public function qryNsd_2($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_NoStudyDate
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลวันที่ไม่ให้จัดการเรียนการสอนเพื่อแสดงเป็น dropdown
*
* @access public
* @param array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
* @order array order โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการเรียงลำดับ GROUP BY
* @group array group โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขการจัดกลุ่ม ORDER BY
* @param char optional ไว้สำหรับสร้าง string ของ dropdown
* @return array $opt อยู่ในรูป array opt('nsdId' => nsdName)
*/
public function get_options($condition="",$order="",$group="", $optional='y') {
$query = $this->qryNsd($condition,$order,$group);
if($optional) $opt[''] = $optional;
foreach($query->result() as $row) {
$opt[$row->nsdId] = $row->nsdName;
}
return $opt;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลวันที่ไม่ให้จัดการเรียนการสอนที่มี id ไม่เท่ากับค่าที่กำหนด
*
* @access public
* @param $nsdName คือ ชื่อวันที่ไม่ให้จัดการเรียนการสอน
* @param $nsdDate คือ วันที่เริ่มต้นไม่ให้จัดการเรียนการสอน
* @param $nsdId คือ รหัสวันที่ไม่ให้จัดการเรียนการสอน
* @return query >= 1 rows : rg_NoStudyDate.*
* @todo use
*/
public function qryNsdNotId($nsdName,$nsdDate,$nsdId) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_NoStudyDate
WHERE nsdName=?
AND nsdDate=?
AND nsdId<>?";
$query = $this->db->query($sql,array($nsdName,$nsdDate,$nsdId));
return $query;
}
public function qryNsdJnPrdPsNull() {
$sql = "SELECT rg_NoStudyDate.*, p1.prdFrTime as prdFrTime, p2.prdToTime as prdToTime
FROM $this->rg_dbname.rg_NoStudyDate
INNER JOIN $this->rg_dbname.rg_Period p1 ON p1.prdId = nsdPrdFrTime
INNER JOIN $this->rg_dbname.rg_Period p2 ON p2.prdId = nsdPrdToTime
WHERE nsdNsdIdParent IS NULL";
$query = $this->db->query($sql);
return $query;
}
public function qryNsdJnPrd($condition="",$order="",$group="") {
$where = $this->checkCondition($condition);
$order = $this->checkOrderBy_2($order);
$group = $this->checkGroupBy($group);
$c1 = substr($where, 0, -3);
$c2 = substr($order, 0, -1);
$c3 = substr($group, 0, -1);
$sql = "SELECT rg_NoStudyDate.*, p1.prdFrTime as prdFrTime, p2.prdToTime as prdToTime
FROM $this->rg_dbname.rg_NoStudyDate
INNER JOIN $this->rg_dbname.rg_Period p1 ON p1.prdId = nsdPrdFrTime
INNER JOIN $this->rg_dbname.rg_Period p2 ON p2.prdId = nsdPrdToTime
$c1
$c2
$c3";
$query = $this->db->query($sql);
return $query;
}
function delOldPrd($condition=""){
$where = $this->checkCondition($condition);
$c1 = substr($where, 0, -3);
$sql = "DELETE FROM $this->rg_dbname.rg_NoStudyDate $c1";
$query = $this->db->query($sql);
return $query;
}
function qryNsdBetweenDateOrdNsdDateAndNsdPrdFrTime($frDate, $toDate) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_NoStudyDate
WHERE nsdDate between ? and ?
ORDER BY nsdDate, nsdPrdFrTime";
$query = $this->db->query($sql, array($frDate, $toDate));
return $query;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลวันที่มากที่สุดไม่ให้จัดการเรียนการสอนตามเงื่อนไข
*
* @access public
* @param array condition โดยรูปแบบของ array จะอยู่ในรูป condition('key' => value) ไว้สำหรับระบุเงื่อนไขของคำสั่ง SELECT
* @return query = 1 rows : nsdDate วันที่ที่ไม่ให้จัดการเรียนการสอน
* @todo use
*/
function getMaxDateByParent($condition="") {
$where = $this->checkCondition($condition);
$c1 = substr($where, 0, -3);
$sql = "SELECT MAX(nsdDate) AS num
FROM $this->rg_dbname.rg_NoStudyDate
$c1";
$query = $this->db->query($sql);
return $query->row()->num;
}
/**
* หน้าที่ของฟังก์ชั่น คือ หาข้อมูลวัน และข้อมูลคาบ ตามเงื่อนไข
*
* @access public
* @param $nsdDate: อยู่ในรูปแบบวันที่ yyyy-mm-dd
* @param $frTime: รหัสคาบ ตั้งแต่เวลา
* @param $toTime: รหัสคาบ ถึงเวลา
* @return query >= 1 row: rg_NoStudyDate.*
* @todo use
*/
function qryNsdByDateAndFrTimeAndToTime($nsdDate,$frTime,$toTime) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_NoStudyDate
WHERE nsdDate=?
AND nsdPrdToTime>=?
AND nsdPrdFrTime<=?";
$query = $this->db->query($sql,array($nsdDate,$frTime,$toTime));
return $query;
}
function qrynsdDate($nsdDate) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_NoStudyDate
WHERE nsdDate = '$nsdDate'";
$query = $this->db->query($sql);
return $query;
}
function RSrg_NoStudyDateByDateAndFrPr($nsdDate,$frPr) {
$sql = "SELECT *
FROM $this->rg_dbname.rg_NoStudyDate
WHERE nsdDate = '$nsdDate' and nsdPrdFrTime ='$frPr'";
$query = $this->db->query($sql);
return $query;
}
}
?>
|