Viewing file:      mo_rg_nostudydate.php (9.33 KB)      -rwxr-xr-x 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;
     }
 
 }
 ?>
  |