Viewing file:      mo_rg_curriculum.php (15.77 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 include_once("da_rg_Curriculum.php");
 
 /**
  * Mo_rg_curriculum Class
  *
  * Class นี้ประกอบด้วยฟังก์ชั่นที่จัดการเกี่ยวกับหลักสูตร
  *
  * @package    Curriculum
  */
 class Mo_rg_curriculum extends Da_rg_Curriculum {
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาหลักสูตรตามเงื่อนไข
      *
      * @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_Curriculum.*
      * @todo    use 
      */
     public function qryCur($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_Curriculum
                     $c1
                     $c2
                     $c3";
         
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryCurJoinElv($condition="",$order="",$group="") {
         $db_rg = $this->config->item('rg_dbname');
         $db_ppc = $this->config->item('ppc_dbname');
 
         $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_Curriculum
                 LEFT JOIN $this->ppc_dbname.Level ON curElvId=levelId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryCurJoinOther($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_Curriculum
                     LEFT JOIN $this->ppc_dbname.Level ON curElvId=levelId
                     $c1
                     $c2
                     $c3";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryCurJoinLv($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_Curriculum 
                     INNER JOIN $this->ppc_dbname.Level ON curElvId=levelId 
                     $c1
                     $c2";
         $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('curId' => curName)
      */
     public function get_options($condition="",$order="",$group="",$optional='y') {
         $query = $this->qryCur($condition,$order,$group);
         if($optional=='y') {
             $opt[''] = '';
         } else {
             $opt[''] = $optional;
         }
         foreach($query->result() as $row) {
             $opt[$row->curId] = $row->curName;
         }
         return $opt;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หารายชื่อหลักสูตรเพื่อแสดงเป็น dropdown รูปแบบที่ 3 แสดงทุกหลักสูตร
      *
      * @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('curId' => curName)
      */
     public function get_options_allCur($condition="",$order="",$group="",$optional="") {
         $query = $this->qryCur($condition,$order,$group);
         if($optional) $opt['0'] = $optional;
         foreach($query->result() as $row) {
             $opt[$row->curId] = $row->curName;
         }
         return $opt;
     }
 
      /**
      * หน้าที่ของฟังก์ชั่น คือ หารายชื่อหลักสูตรเพื่อแสดงเป็น 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('curId' => curName)
      */
     public function get_options_3($condition="",$order="",$group="",$optional='') {
         $query = $this->qryCur($condition,$order,$group);
         if($optional) $opt['0'] = $optional;
         foreach($query->result() as $row) {
             $opt[$row->curId] = $row->curName;
         }
         return $opt;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาหลักสูตร และข้อมูลนักศึกษา ตามเงื่อนไข
      *
      * @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_Curriculum.*, rg_Student.*
      */
     public function qryCurJoinStd($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_Student
                 INNER JOIN $this->rg_dbname.rg_Curriculum ON stdCurId=curId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาหลักสูตร รุ่น 
      *
      * @access    public
      * @param    $sLevelId คือ ระดับการศึกษาตัวที่ 1
                 $eLevelId คือ ระดับการศึกษาตัวที่ 2
                 $adY คือ ปีการศึกษาที่เข้า
      * @return    query >= 1 rows : rg_Curriculum.*, rg_Student.*
      */
     public function qryCurForFTESJoinCurElvGen($sLevelId, $eLevelId,$acY) {
         $sql = "SELECT curId, curName, stdAdY, genId, genNo, COUNT(stdId) AS numStd
                 FROM $this->rg_dbname.rg_Student
                 LEFT JOIN $this->rg_dbname.rg_Generation ON stdGenId=genId
                 LEFT JOIN $this->rg_dbname.rg_Curriculum ON stdCurId=curId
                 WHERE stdGenStatus='Y'
                 AND genAcY <= ?
                 AND curElvId BETWEEN ? AND ?
                 AND (? - stdAdY+1) BETWEEN 1 AND curNumStudyY
                 GROUP BY curId, stdAdY, genNo";
         $query = $this->db->query($sql,array($acY,$sLevelId,$eLevelId,$acY));
         return $query;
     }
 
     public function qryCurJoinLev($curId) {
         $sql = "SELECT *
                 FROM $this->rg_dbname.rg_Curriculum
                 LEFT JOIN $this->ppc_dbname.Level ON curElvId=levelId
                 WHERE cur.curId = ?";
         $query = $this->db->query($sql,array($curId));
         return $query;
     }
 
     public function qryCurGroupCurElvId() {
         $sql = "SELECT curElvId
                 FROM $this->rg_dbname.rg_Curriculum
                 GROUP BY curElvId";
         $query = $this->db->query($sql);
         return $query;
     }
     //karn test
     public function SelectAll(){
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Curriculum order by curCcId";
                     
         $query = $this->db->query($sql);
         return $query;
     }
 
 // -------- from m_rg_curriculum
     public function qryByIdJoinElv($curId) {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum, $this->ppc_dbname.Level 
                     WHERE curId=? 
                     AND curElvId=levelId";
         $query = $this->db->query($sql, array($curId));
         return $query;
     }
     
     public function qryOrderCcId() {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum 
                     ORDER BY curCcId";
         $query = $this->db->query($sql);
         return $query;
     }
     
     public function qryLimit($start,$pageSize) {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum 
                     WHERE curStatus='Y' 
                     ORDER BY curId 
                     LIMIT ?, ?";
         $query = $this->db->query($sql,array($start,$pageSize));
         return $query;
     }
 
     public function qryByIdStatusIsY($id) {
         $sql = "SELECT *
                 FROM $this->rg_dbname.rg_Curriculum
                 WHERE curStatus='Y'
                 AND curId = ? ";
         $query = $this->db->query($sql ,array($id));
         return $query;
     }
 
     // add
     public function qryCurStatusIsY() {
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Curriculum
                     WHERE curStatus='Y'
                     ORDER BY curId";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qry() {
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Curriculum";
         $query = $this->db->query($sql);
         return $query;
     }
 
 
 
     public function qryAllCurriculumLimit($start,$pageSize) {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum 
                     ORDER BY curCcId 
                     LIMIT ?, ?";
         $query = $this->db->query($sql,array($start,$pageSize));
         return $query;
     }
     
     public function qryCurriculumGroupElvId() {
         $sql = "SELECT curElvId 
                     FROM $this->rg_dbname.rg_Curriculum 
                     WHERE curStatus='Y' 
                     GROUP BY curElvId";
         $query = $this->db->query($sql);
         return $query;
     }
     
     public function qryAllCurriculumGroupElvId() {
         $sql = "SELECT curElvId 
                     FROM $this->rg_dbname.rg_Curriculum 
                     GROUP BY curElvId";
         $query = $this->db->query($sql);
         return $query;
     }
     
     public function qryByElvId($elvId) {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum 
                     WHERE curElvId=? 
                     AND curStatus='Y'";
         $query = $this->db->query($sql,array($elvId));
         return $query;
     }
     
     public function qryByStatusIsYOrderName() {
         $sql = "SELECT * 
                     FROM $this->rg_dbname.rg_Curriculum 
                     WHERE curStatus='Y' 
                     ORDER BY curName";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /*
      *
      *
      *
      */
     public function qryByIdAndStdAdYAndStdGenStatusGroupStdCurIdAndStdAdYJoinStd($curId,$stdAdY,$stdGenStatus) {
         $cond = "";
         if($curId<>"") $cond .= " and curId='$curId'";
         if($stdAdY<>"") $cond .= " and stdAdY='$stdAdY'";
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Curriculum, $this->rg_dbname.rg_Student
                     WHERE curStatus='Y' ".$cond."
                     AND curId=stdCurId
                     AND stdGenStatus=?
                     GROUP BY stdCurId, stdAdY";
         $query = $this->db->query($sql,array($stdGenStatus));
         return $query;
     }
 
     public function getNumStudyYById($curId) {
         $sql = "SELECT (curNumStudyY) AS curNumStudyY
                     FROM $this->rg_dbname.rg_Curriculum
                     WHERE curId=?";
         $query = $this->db->query($sql,array($curId));
         if ($row=$query->row())
             return $row->curNumStudyY;
     }
 
     public function qryById($id) {
         $sql = "SELECT *
                     FROM $this->rg_dbname.rg_Curriculum
                     WHERE curId=?";
         $query = $this->db->query($sql,array($id));
         return $query;
     }
 
     public function getGroupConCurGtpId($curId) {
         $sql = "SELECT GROUP_CONCAT(curGtpId) AS curGtpId 
                 FROM $this->rg_dbname.rg_Curriculum
                 WHERE curId IN ($curId);";
         $query = $this->db->query($sql);
         return $query->row()->curGtpId;
     }
 
     public function qryCurJoinEdgElv($condition="",$order="",$group="") {
         $db_rg = $this->config->item('rg_dbname');
         $db_ppc = $this->config->item('ppc_dbname');
 
         $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_Curriculum
                 LEFT JOIN $this->rg_dbname.rg_EduDegree ON curEdgId=edgId
                 LEFT JOIN $this->rg_dbname.rg_CurriculumConfig ON curCcId=ccId
                 LEFT JOIN $this->ppc_dbname.Level ON curElvId=levelId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryCurJoinEdgElvStd($condition="",$order="",$group="") {
         $db_rg = $this->config->item('rg_dbname');
         $db_ppc = $this->config->item('ppc_dbname');
 
         $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_Curriculum
                 LEFT JOIN $this->rg_dbname.rg_EduDegree ON curEdgId=edgId
                 LEFT JOIN $this->rg_dbname.rg_CurriculumConfig ON curCcId=ccId
                 LEFT JOIN $this->rg_dbname.rg_Student ON stdCurId=curId
                 LEFT JOIN $this->ppc_dbname.Level ON curElvId=levelId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
 // --------and from m_rg_curriculum
 
 }
 ?>
  |