Viewing file:      mo_district.php (4.25 KB)      -rwxr-xr-x Select action/file-type:    (+) |   (+) |   (+) | Code (+) | Session (+) |   (+) | SDB (+) |   (+) |   (+) |   (+) |   (+) |   (+) |
 
<?php
 
 include_once("da_district.php");
 
 class Mo_district extends Da_district {
 
     /*
      * aOrderBy = array('fieldname' => 'ASC|DESC', ... )
      */
     function get_all($aOrderBy=""){
         $orderBy = "";
         if ( is_array($aOrderBy) ) {
             $orderBy.= "ORDER BY "; 
             foreach ($aOrderBy as $key => $value) {
                 $orderBy.= "$key $value, ";
             }
             $orderBy = substr($orderBy, 0, strlen($orderBy)-2);
         }
         $sql = "SELECT * 
                 FROM $this->ppc_dbname.District 
                 $orderBy";
         $query = $this->db->query($sql);
         return $query;
     }
     
     /*
      * create array of pk field and value for generate select list in view, must edit PK_FIELD and FIELD_NAME manually
      * the first line of select list is '-----เลือก-----' by default.
      * if you do not need the first list of select list is '-----เลือก-----', please pass $optional parameter to other values. 
      * you can delete this function if it not necessary.
      */
     function get_options($optional='y') {
         $qry = $this->get_all();
         if ($optional=='y') $opt[''] = '-----เลือก-----';
         foreach ($qry->result() as $row) {
             $opt[$row->PK_FIELD] = $row->FIELD_NAME;
         }
         return $opt;
     }
     
     // add your functions here
 
     function qryDt($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->ppc_dbname.District
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     function qryDtJoinApPrv($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->ppc_dbname.District dt
                 LEFT JOIN $this->ppc_dbname.Amphur ap ON dt.amphurId=ap.amphurId
                 LEFT JOIN $this->ppc_dbname.Province prv ON dt.provinceId=prv.provinceId
                 $c1
                 $c3
                 $c2";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryDtByCharacterAndPrvId($character, $prv) {
         $vowel = thaiVowel();
         $cond = "";
         if($character=="") {
             $cond.="prv.provinceId=$prv";
         } else if($character!="" && $prv!="") {
             $cond.="(";
             for($i=0; $i<count($vowel); $i++) {
                 $cond.="districtName LIKE '$vowel[$i]$character%' OR ";
             }
 
             $cond.="districtName LIKE '$character%') AND prv.provinceId=$prv";
         } else {
             $cond.="(";
             for($i=0; $i<count($vowel); $i++) {
                 $cond.="districtName LIKE '$vowel[$i]$character%' OR ";
             }
 
             $cond.="districtName LIKE '$character%')";
         }
 
         $sql = "SELECT *
                 FROM $this->ppc_dbname.District dt
                 LEFT JOIN $this->ppc_dbname.Amphur ap ON dt.amphurId=ap.amphurId
                 LEFT JOIN $this->ppc_dbname.Province prv ON dt.provinceId=prv.provinceId
                 WHERE $cond
                 ORDER BY CONVERT(prv.provinceName USING TIS620),
                 CONVERT(ap.amphurName USING TIS620),
                 CONVERT(dt.districtName USING TIS620)";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryDtLikeDtNameAndApNameAndPrvId($dtName, $apName, $prvId) {
         $cond = "";
         if($dtName) {
             $cond.="districtName LIKE '%$dtName%' AND ";
         }
         if($apName) {
             $cond.="amphurName LIKE '%$apName%' AND ";
         }
         if($prvId) {
             $cond.="dt.provinceId=$prvId AND ";
         }
 
         $c = substr($cond, 0, -4);
 
         $sql = "SELECT *
                 FROM $this->ppc_dbname.District dt
                 LEFT JOIN $this->ppc_dbname.Amphur ap ON dt.amphurId=ap.amphurId
                 LEFT JOIN $this->ppc_dbname.Province prv ON dt.provinceId=prv.provinceId
                 WHERE $c
                 ORDER BY CONVERT(prv.provinceName USING TIS620),
                 CONVERT(ap.amphurName USING TIS620),
                 CONVERT(dt.districtName USING TIS620)";
         $query = $this->db->query($sql);
         return $query;
     }
 
     public function qryDtNotId($condition="",$districtId) {
         $where = $this->checkCondition($condition);
 
         $c1 = substr($where, 0, -3);
 
         $sql = "SELECT *
                     FROM $this->ppc_dbname.District
                     $c1
                     AND districtId<>?";
         $query = $this->db->query($sql,array($districtId));
         return $query;
     }
 
 } // end class Mo_district
 ?>
  |