c=$c->c; $this->DB=$c->db; } function Save(){ //--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล //--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม //--1 เป็นข้อมูลใหม่ 2 เป็นข้อมูลเดิม $pMnID = ($this->MnParentMnID=="")? 'NULL' : $this->MnParentMnID; if ($this->status==1){ $this->MnID=$this->GetNextCode(); $this->MnSeq = $this->MnID; //$mxSeq = $this->GetMaxSeqByParentMenuID($this->MnParentMnID); $sql = "insert into ummenu values( '$this->MnStID', '$this->MnID', '$this->MnSeq', '$this->MnIcon', '$this->MnNameT', '$this->MnNameE', '$this->MnURL', '$this->MnDesc', '$this->MnToolbar', '$this->MnToolbarSeq', '$this->MnToolbarIcon', $pMnID, '$this->MnLevel')"; }else { $sql = "update ummenu set MnStID='$this->MnStID', MnSeq='$this->MnSeq', MnIcon='$this->MnIcon', MnNameT='$this->MnNameT', MnNameE='$this->MnNameE', MnURL='$this->MnURL', MnDesc='$this->MnDesc', MnToolbar='$this->MnToolbar', MnToolbarSeq='$this->MnToolbarSeq', MnToolbarIcon='$this->MnToolbarIcon', MnParentMnID=$pMnID, MnLevel='$this->MnLevel' where MnID='$this->MnID'"; } return $this->Dml($sql); } function Delete(){ //--ใช้เมธอดนี้เพื่อลบข้อมูลเดิมในอ๊อบเจ๊ก //--เป็นการลบข้อมูลทีละ 1 เรคอร์ด //--ต้องเรียกเมธอดตามลำดับดังนี้ SearchByKey()-->GetRecord()-->Delete() return $this->Dml("delete from ummenu where MnID='$this->MnID'"); } function GetNextCode(){ //--ใช้เมธอดนี้เพื่อหาค่าสูงสุดของฟิลด์ที่ใช้เป็นคีย์ของตาราง ในลักษณะ auto increment //--ต้องเป็นฟิลด์ที่ไม่ได้กำหนดรหัสเองทางจอภาพ $this->SetQuery("select max(MnID) as num from ummenu where MnStID=$this->MnStID"); if ($result=$this->GetResult()) { if ($result['num'] < $this->MnStID*10000){ return $this->MnStID*10000+1; } else { return $result['num']+1; } } } function RSummenu(){ //--เมธอดที่ขึ้นต้นด้วย RS (Result Set) มีความหมายว่าจะได้รับข้อมูลกลับมาจากการ select มากกว่า 1 เรคอร์ด //--ปกติเมื่อเรียกใช้เมธอด RSxxxx จะต้องเรียกเมธอด GetRecord() ด้วยเสมอ //--โดยสามารถเพิ่มเมธอดได้ตามต้องการ แต่ต้องขึ้นต้นด้วย RS $this->SetQuery("select * from ummenu order by MnID"); } function GetRecord(){ //--เป็นเมธอดที่นำข้อมูลจาก ResultSet มากำหนดให้กับแอตทริบิวต์ของอ๊อบเจ็ก //--เรียก GetRecord() หนึ่งครั้ง จะเลื่อนตัวชี้เรคอร์ดไปอีกหนึ่งเรคอร์ด if ($this->result = $this->GetResult()) { $this->MnStID = $this->result['MnStID']; $this->MnID = $this->result['MnID']; $this->MnSeq = $this->result['MnSeq']; $this->MnIcon = $this->result['MnIcon']; $this->MnNameT = $this->result['MnNameT']; $this->MnNameE = $this->result['MnNameE']; $this->MnURL = $this->result['MnURL']; $this->MnDesc = $this->result['MnDesc']; $this->MnToolbar = $this->result['MnToolbar']; $this->MnToolbarSeq = $this->result['MnToolbarSeq']; $this->MnToolbarIcon = $this->result['MnToolbarIcon']; $this->MnParentMnID = $this->result['MnParentMnID']; $this->MnLevel = $this->result['MnLevel']; return 1; }else { return 0; } } function SearchByKey($xKey){ //--ใช้เมธอดนี้เพื่อค้นหาข้อมูลตาม PK ต้องระบุพารามิเตอร์ด้วย //--และต้องตามด้วยเมธอด GetRecord() เสมอ if ($this->SetQuery("select * from ummenu where MnID= '$xKey'")){ return 1; }else { return 0; } } //****************** You can add new functions below **********************// function DeleteBySt($StID){ return $this->Dml("delete from ummenu where MnStID='$StID'"); } function RSMainMenuBySt($StID){ $sql = "select * from ummenu where MnStID=$StID and (MnParentMnID=0 OR MnParentMnID IS NULL) order by MnIcon, MnParentMnID, MnSeq"; $this->SetQuery($sql); } function RSmenuByParentMn($MnID){ $sql = "select * from ummenu where MnParentMnID=$MnID order by mnseq"; $this->SetQuery($sql); } function GetMaxSeqByParentMenuID($ParentMnID){ $sql="select max(MnSeq) as num from ummenu where MnParentMnID='$ParentMnID'"; $this->SetQuery($sql); if ($result=$this->GetResult()) { if ($result['NUM']=="") return 1; else return $result['NUM']+1; } } //////////////// function hasSubMenu($pmnID){ $this->SetQuery("select count(*) as num from ummenu where MnParentMnID='$pmnID'"); $result=$this->GetResult(); return $result['num']; } function numMenuInSameParent($pmnID){ $this->SetQuery("select count(*) as num from ummenu where MnParentMnID='$pmnID'"); $result=$this->GetResult(); return $result['num']; } function getMinSeq($pmnID){ $this->SetQuery("select min(MnSeq) as num from ummenu where MnParentMnID='$pmnID'"); $result=$this->GetResult(); return $result['num']; } function getMaxSeq($pmnID){ $this->SetQuery("select max(MnSeq) as num from ummenu where MnParentMnID='$pmnID'"); $result=$this->GetResult(); return $result['num']; } function swapMenu($ud, $MnStID, $MnID, $MnSeq, $PmnID, $MnLevel){ //echo "---$ud, $MnStID, $MnID, $MnSeq, $PmnID, $MnLevel==="; if($ud=="u"){ $sql="select MnID, MnSeq from ummenu where MnParentMnID='$PmnID' and MnSeq<'$MnSeq' and MnLevel='$MnLevel' order by MnSeq Desc limit 0,1"; $this->SetQuery($sql); $result=$this->GetResult(); $upMnId = $result['MnID'] ; $upMnSeq = $result['MnSeq'] ; $sql="update ummenu set MnSeq='$MnSeq' where MnID='$upMnId' "; $this->Dml($sql); $sql="update ummenu set MnSeq='$upMnSeq' where MnID='$MnID' "; $this->Dml($sql); } if($ud=="d"){ $sql="select MnID, MnSeq from ummenu where MnParentMnID='$PmnID' and MnSeq>'$MnSeq' and MnLevel='$MnLevel' order by MnSeq limit 0,1"; $this->SetQuery($sql); $result=$this->GetResult(); $dnMnId = $result['MnID'] ; $dnMnSeq = $result['MnSeq'] ; $sql="update ummenu set MnSeq='$MnSeq' where MnID='$dnMnId' "; $this->Dml($sql); $sql="update ummenu set MnSeq='$dnMnSeq' where MnID='$MnID' "; $this->Dml($sql); } } function setMenuSeq($mnID, $seq){ $sql="update ummenu set MnSeq=$seq where MnID=$mnID"; $this->SetQuery($sql); } } //--End class ummenu-- ?>