Viewing file: clsdepttype.php (3.9 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class base_Departmenttype--------------------------
//--PK of base_Departmenttype ::
// 1. depttypeId
class Departmenttype extends clsDB{
var $result;
var $depttypeId;
var $depttypeName;
function Departmenttype(&$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->depttypeId=$this->GetNextCode();
$sql = "insert into Departmenttype values('$this->depttypeId', '$this->depttypeName')";
}else {
$sql = "update Departmenttype set depttypeName='$this->depttypeName' where depttypeId='$this->depttypeId'";
}
return $this->Dml($sql);
}
function Delete(){
//--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก
//--เป็นการลบข้อมูลทีละ 1 เรคอร์ด
//--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete()
return $this->Dml("delete from Departmenttype where depttypeId='$this->depttypeId'");
}
function GetNextCode(){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
$this->SetQuery("select max(depttypeId) as num from Departmenttype");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function GetNextCodeByCond($fieldnameindex="0", $cond="1", $delim="/", $count="1"){
//--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่กำหนดตามเงื่อนไขที่ได้รับมา ในลักษณะ auto increment
//--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ
//--ตัวแปร fieldnameindex = อินเดกซ์ของ field ที่ต้องการหาค่าสูงสุด
//--ตัวแปร cond = เงื่อนไขของ query ในการหาค่าสูงสุด
//--ตัวแปร delim= ตัวแยกข้อมูลของ field ที่เลือกมาและเป็น string
//--ตัวแปร count= กำหนดข้อมูลที่ต้องการแสดงโดยนับจากข้อมูลที่ถูกแบ่งจากตัว delim แล้ว
$this->SetQuery("select max(substring_index(".mysql_field_name($this->SetQuery("select * from Departmenttype"), $fieldnameindex).", '$delim', $count)) as num from Departmenttype where $cond");
if ($result=$this->GetResult()) {
return $result['num']+1;
}
}
function RSDepartmenttype(){
//--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด
//--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ
//--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS
$this->SetQuery("select * from Departmenttype order by depttypeId");
}
function GetRecord(){
//--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก
//--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด
if ($this->result = $this->GetResult()) {
$this->depttypeId = $this->result['depttypeId'];
$this->depttypeName = $this->result['depttypeName'];
return 1;
}else {
return 0;
}
}
function SearchByKey($xKey){
//--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย
//--และต้องตามด้วยเมธอด GetRecord() เสมอ
if ($this->SetQuery("select * from Departmenttype where depttypeId= '$xKey'")){
return 1;
}else {
return 0;
}
}
function GetCustomRecord($query){
//--ใช้เมธอดนี้ในกรณีที่ต้องการกำหนด query ด้วยตนเอง
$this->SetQuery($query);
$this->result=$this->GetResult();
return $this->result;
}
function selectHTML($name, $ID=""){
$s="<select name=\"$name\">\n";
$s.="<option value=\"0\">---เลือกหน่วยงานย่อยที่สังกัด---\n";
$this->RSDepartmenttype();
while($this->GetRecord()){
$s.="<option value=\"$this->depttypeId\" ";
$s.=($this->depttypeId==$ID) ? "Selected" : "" ;
$s.=">$this->depttypeName\n";
}
return $s.="</select>\n";
}
} //--End class base_Departmenttype--
?>
|