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