2013-05-14 94 views
1

我正在构建一个PHP应用程序,用于检查数据库中用户的生日。 这些用户在他们的生日时被授予各种礼物,他们可以从中选择一个。我跟踪他们选择哪一个,所以我可以看到谁收到了礼物,谁还有一个礼物在等待。更新数据库条目和/或保存已存在的条目

的目标群体这个应用程序是企业,谁支付每名员工的费用,它是此应用程序的一部分。该应用程序旨在让公司更容易记住员工的生日并表明他们关心。

随着公司的成长/萎缩,因为他们雇用,解雇员工,他们每个月都会使系统能够排除那些谁不再在那里工作,并增加新的员工来更新他们的员工名单。

现在我的问题是:我该如何做到最聪明的方式?

如果我要删除以前与给定公司关联的每个员工,当给予他们当前的员工名册并从头开始插入新的列表时,我将失去员工与未获得/要求的礼物之间的关联我的数据库。另一方面,为了确保我的数据库中保持联系,如果我只是增加新员工并删除那些不在名册中的人员,我该如何以最聪明的方式去做这件事?

我的员工得到的字段是idfirstnamesurnameemailbirthdaycompany_id。这些都不是一个很好的方式来确定用户是否已经在数据库中(可以争辩说电子邮件可能工作,但如果由于某种原因他们改变了它,它将不起作用)

任何建议更多然后欢迎。

+0

提示:剪短你的问题,否则用户会跑掉 – 2013-05-14 11:51:52

+1

你需要几件事情。一个是反对用户的标志,表明他们是否是一名活跃的员工,然后当你正在寻找人们给予的东西,只要选择active = 1(或任何你称之为你的领域)。另一件事是你的新名单导入,而不是删除用户不再在那里寻找比较的东西,如果你没有通过公司的唯一雇员ID我建议匹配用户的电子邮件地址,因为他们应该是唯一的每个用户,如果他们不在新的导入列表中,则将其活动标志设置为零。 – Dave 2013-05-14 11:55:49

+0

不错,这听起来很不错,谢谢! – Rasmus 2013-05-14 11:58:05

回答

2

你可以简单的字段添加到您的表的员工:

employeeID | name | isStillHired 

,当一个公司触发您以这种方式设置为false领域isStillHired雇员,你不会失去他

+0

听起来像一个计划!我会在可以的时候将它标记为awnser,谢谢 – Rasmus 2013-05-14 11:58:38

3
引用

最简单的答案是将employee_id添加到您的数据库。每家公司都有内部ID,用于识别系统内部的员工。这对于许多目的是必要的,包括薪资,福利,考勤等。因此,您只需将此ID字段添加到您的employee表中,并确保您收到的名单包含所有员工的这些ID。

此外,而不是删除条目员工不再为公司工作,你可以有一个标志,它指示是否就业依然活跃。然后在查询中添加相应的where子句。

相关问题