Viewing file:      mo_rg_studentreward.php (6.02 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 include_once("da_rg_StudentReward.php");
 class Mo_rg_studentreward extends Da_rg_StudentReward {
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาข้อมูลการรับรางวัลของนักศึกษาตามเงื่อนไข
      *
      * @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_StudentReward.*
      * @todo    use
      */
     public function qrySrw($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_StudentReward
                     $c1
                     $c3
                     $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     /**
      * หน้าที่ของฟังก์ชั่น คือ หาลำดับการได้รับรางวัลที่มากที่สุด ของนักศึกษาแต่ละคน
      *
      * @access    public
      * @param    srwStdId : รหัสนักศึกษา
      * @return    srwSeq : ลำดับการได้รับรางวัลที่มากที่สุด
      * @todo    use
      */
     function getNextSrwSeqBySrwStdId($srwStdId) {
         $sql = "SELECT IFNULL(MAX(srwSeq),0) + 1 AS srwSeq
                 FROM $this->rg_dbname.rg_StudentReward
                 WHERE srwStdId=?";
         $query = $this->db->query($sql,array($srwStdId));
         return $query->row()->srwSeq;
     }
 
     function qrySrwJoinStdPf($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_StudentReward
                 LEFT JOIN $this->rg_dbname.rg_Student ON srwStdId=stdId
                 LEFT JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
                 $c1
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     function searchSrw($srwRewardName, $srwDescription, $srwReceiveDate, $std) {
         $ci =& get_instance();
         $ci->load->model($this->config->item('sa_folder').'sa_student_model','std');
         
         $cond = "";
         if($srwRewardName!="") {
             $cond.= "srwRewardName LIKE '%".$srwRewardName."%' OR ";
         }
         
         if($srwDescription!="") {
             $cond.= "srwDescription LIKE '%".$srwDescription."%' OR ";
         }
         
         if($srwReceiveDate!="") {
             $cond.= "srwReceiveDate='".$srwReceiveDate."' OR ";
         }
 
         $cond = substr($cond, 0, -4);
         if($std!="") {
             $rs_std = explode("###", $std);
             $i = 0;
             $tmp_stdId = "";
 
             if(count($rs_std) > 0) {
                 foreach($rs_std as $value) {
                     $v = explode(":", $value);
 
                     $query_std = $ci->std->get_std_id($v[0]);
                     $stdId = $query_std->row()->stdId;
                     $tmp_stdId.= $stdId.", ";
                 }
 
                 $tmp_stdId = substr($tmp_stdId, 0, -2);
                 $cond.=" AND srwStdId IN (".$tmp_stdId.")";
             }
         }
 
         $sql = "SELECT *
                 FROM $this->rg_dbname.rg_StudentReward
                 LEFT JOIN $this->rg_dbname.rg_Student ON srwStdId=stdId
                 LEFT JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
                 WHERE $cond";
         $query = $this->db->query($sql);
         return $query;
     }
 
     function qrySrwRewardNameBySrwReceiveDate($srwReceiveDate) {
         $sql = "SELECT srwRewardName, srwReceiveDate
                 FROM $this->rg_dbname.rg_StudentReward
                 WHERE srwReceiveDate=?
                 GROUP BY srwRewardName, srwReceiveDate
                 ORDER BY CONVERT(srwRewardName USING TIS620)";
         $query = $this->db->query($sql,array($srwReceiveDate));
         return $query;
     }
 
     function qrySrwJoinSrwu($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_StudentReward
                 INNER JOIN $this->rg_dbname.rg_StudentRewardFileUpload ON srwSeq=srwuSrwSeq AND srwStdId=srwuStdId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     function qryAllSrwJoinSrwu($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_StudentReward
                 LEFT JOIN $this->rg_dbname.rg_Student ON srwStdId=stdId
                 LEFT JOIN $this->ppc_dbname.Prefix ON stdPfId=prefixId
                 LEFT JOIN $this->rg_dbname.rg_StudentRewardFileUpload ON srwSeq=srwuSrwSeq AND srwStdId=srwuStdId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     function qrySrwRewardNameSinceSrwReceiveDate($srwReceiveDate) {
         $sql = "SELECT srwRewardName, srwReceiveDate
                 FROM $this->rg_dbname.rg_StudentReward
                 WHERE srwReceiveDate >= ?
                 GROUP BY srwRewardName, srwReceiveDate
                 ORDER BY srwReceiveDate DESC";
         $query = $this->db->query($sql,array($srwReceiveDate));
         return $query;
     }
 
 //SELECT * FROM `rg_StudentReward` 
 //LEFT JOIN rg_StudentRewardFileUpload ON srwSeq=srwuSrwSeq AND srwStdId=srwuStdId
 //wHERE srwRewardName="ทดสอบ ตอนง่วงนอน" AND srwReceiveDate="2011-09-21"
 //GROUP BY srwuFileName
 }
 ?>
  |