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;
     }
 }
 ?>
  |