我有2个数据库
DatabaseA包含表格:
DatabaseB包含表格:
表工作人员包含200多条记录,leaveEntry包含员工的休假条目作为员工ID作为唯一字段。
表punchingLogs包含组织内外冲压的详细信息。每位员工每天最少2个日志。
在计算月度报告时,我必须遍历每一天,需要计算假期条目,离开类型,打击时间等。
目前,我已经使用一堆循环gor每天获取数据然后计算出勤率来编码。我认为这不是最好的解决方案。所以我创建了一个类Employee并尝试将详细信息更新到类成员一次我在数据库中找到了相关的员工ID。使用的逻辑是:生成新对象员工并将其添加到
$allstaff =array ();
$allstaff [id] = new object ();
这里的id将是来自db的唯一staffid,这可能是从1到200 +的任何值。这是以这种方式检索和存储数据的gud做法吗?
新创建的Employee类包含基本的setter和getter:
class Employee{
var $empName;
var $dept;
var $cat;
var $cl;
var $hpl;
var $coff;
var $dl;
var $lop;
function __construct($name,$department,$category,$casual,$halfpay,$compoff,$duty,$losofpay){
$this->empName=$name;
$this->dept=$department;
$this->cat=$category;
$this->cl=$casual;
$this->hpl=$halfpay;
$this->coff=$compoff;
$this->dl=$duty;
$this->lop=$losofpay;
}
function getEmployeeName(){
return $this->empName;
}
function getEmployeeDeptName(){
return $this->dept;
}
function getEmployeeCatName(){
return $this->cat;
}
function getEmployeeCl(){
return $this->cl;
}
function getEmployeeHpl(){
return $this->hpl;
}
function getEmployeeCoff(){
return $this->coff;
}
function getEmployeeDl(){
return $this->dl;
}
function getEmployeeLop(){
return $this->lop;
}
}
查询staffdetails:
$queryStaff=mysql_query("SELECT * from `staff` WHERE `dept_id`=$dept AND `staffstatus_id`=1 ORDER BY `staffcategory_id` ASC");
查询leaveEntry:
$leaveQ=mysql_query("SELECT * FROM `leave_entry` WHERE `staff_id`='$staffUID' AND `leavedate`='$dateMake' AND `status`='1'");
查询puchLogs:
$queryPunch=mysql_query("SELECT * FROM `attendancelogs` WHERE `EmployeeCode`='$staffCode' AND `LogDate`='$dateMake' ORDER BY `LogTime` ASC");