| Viewing file:  clsDistrict.php (4.03 KB)      -rwxr-xr-x Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
<?php
//--Class base_District--------------------------
 //--PK of base_District ::
 //    1. districtId
 
 
 class District extends clsDB{
 
 var $result;
 var $status;
 
 var $districtId;
 var $districtName;
 var $districtNameEng;
 var $amphurId;
 var $provinceId;
 
 function District(&$c){
 $this->c=$c->c;
 $this->DB=$c->db;
 }
 
 function AddNew(){
 //--ใช้เมธอดนี้เมื่อต้องการเพิ่มข้อมูลใหม่
 //--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 1
 $this->status = 1;
 }
 
 function Edit(){
 //--ใช้เมธอดนี้เมื่อต้องการปรับปรุงข้อมูล
 //--โดยจะกำหนดสถานะของข้อมูลของอ๊อบเจ๊กให้เป็น 2
 $this->status = 2;
 }
 
 function Save(){
 //--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
 //--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
 //--1 เป็นข้อมูลใหม่  2 เป็นข้อมูลเดิม
 if ($this->status==1){
 $this->districtId=$this->GetNextCode();
 $sql = "insert into District values('$this->districtId', '$this->districtName', '$this->districtNameEng', '$this->amphurId', '$this->provinceId')";
 }else {
 $sql = "update District set districtName='$this->districtName', districtNameEng='$this->districtNameEng', amphurId='$this->amphurId', provinceId='$this->provinceId' where districtId='$this->districtId'";
 }
 $this->SetQuery($sql);
 }
 
 function Delete(){
 //--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
 //--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
 //--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
 $this->SetQuery("delete from District where districtId='$this->districtId'");
 }
 
 function GetNextCode(){
 //--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
 //--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
 $this->SetQuery("select max(districtId) as num from District");
 if ($result=$this->GetResult()) {
 return $result['num']+1;
 }
 }
 
 function RSDistrict(){
 //--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
 //--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
 //--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
 $this->SetQuery("select * from District order by districtId");
 }
 
 function GetRecord(){
 //--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
 //--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
 if ($this->result = $this->GetResult()) {
 $this->districtId = $this->result['districtId'];
 $this->districtName = $this->result['districtName'];
 $this->districtNameEng = $this->result['districtNameEng'];
 $this->amphurId = $this->result['amphurId'];
 $this->provinceId = $this->result['provinceId'];
 return 1;
 }else {
 return 0;
 }
 }
 
 function SearchByKey($xKey){
 //--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
 //--และต้องตามด้วยเมธอด GetRecord() เสมอ
 if ($this->SetQuery("select * from District where districtId= '$xKey'")){
 return 1;
 }else {
 return 0;
 }
 }
 
 function NumRow(){
 //--เป็นเมธอดที่คืนค่าจำนวนข้อมูลจากการ select โดยเมธอด RSxxxx
 return $this->GetRowSelected();
 }
 
 function Destroy(){
 //--เป็นเมธอดสำหรับปิดการติดต่อจากฐานข้อมูล
 //return $this->DestroyDb();
 }
 
 //****************** You can add new functions below **********************//
 function RSDistrictByPvNameAndApNameAndDtName($pvName, $apName, $dtName){
 $this->SetQuery("select * from Province p, Amphur a, District d
 where p.provinceName like '%$pvName%' and p.provinceId=a.provinceId
 and a.amphurName like '%$apName%' and a.amphurId=d.amphurId
 and d.districtName like '%$dtName%' order by p.provinceName, a.amphurName, d.districtName");
 }
 
 function RSDistrictByPvNameAndApNameAndDtNameLimit($pvName, $apName, $dtName, $start, $pageSize){
 $this->SetQuery("select * from Province p, Amphur a, District d
 where p.provinceName like '%$pvName%' and p.provinceId=a.provinceId
 and a.amphurName like '%$apName%' and a.amphurId=d.amphurId
 and d.districtName like '%$dtName%' order by p.provinceName, a.amphurName, d.districtName
 limit $start, $pageSize");
 }
 
 } //--End class base_District--
 
 ?>
 
 |