Viewing file: clsUmMenu.php (6.21 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
//--Class ummenu--------------------------
//--PK of ummenu ::
// 1. MnID
class ummenu extends clsDB{
var $result;
var $MnStID;
var $MnID;
var $MnSeq;
var $MnIcon;
var $MnNameT;
var $MnNameE;
var $MnURL;
var $MnDesc;
var $MnToolbar;
var $MnToolbarSeq;
var $MnToolbarIcon;
var $MnParentMnID;
var $MnLevel;
function ummenu(&$c){
$this->c=$c->c;
$this->DB=$c->db;
}
function Save(){
//--ใช้เมธอดนี้เมื่อต้องการบันทึกข้อมูลในอ๊อบเจ๊กเข้าสู่ฐานข้อมูล
//--โดยจะตรวจสอบสถานะของข้อมูลว่าข้อมูลในอ๊อบเจ๊กเป็นข้อมูลใหม่หรือข้อมูลเดิม
//--1 เป็นข้อมูลใหม่ 2 เป็นข้อมูลเดิม
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',
'$this->MnParentMnID',
'$this->MnLevel')";
}else {
$sql = "update ummenu set
MnID='$this->MnID',
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='$this->MnParentMnID',
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");
if ($result=$this->GetResult()) {
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
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--
?>
|