【问题标题】:Mysql data retrievalmysql数据检索
【发布时间】:2013-04-16 08:11:49
【问题描述】:

我正在为我的公司创建一个考勤管理系统。为此,我的 mysql 数据库中有一个名为 PRESENCE 的表。该表如下所示。

+------+-------------+---------+----------+---- --------+--------+------+------+

|进程号 |班次时间 |时间 |超时 |工作时间 |日期 | uid |天 |

+------+-------------+---------+----------+---- --------+--------+------+------+

我的 html 中有两个按钮用于签入和签出。员工每天登录并在他们到办公室时单击签到按钮。当他们单击签入按钮时,我使用

在上表中插入一个新行
pid(auto incremented),
timein(server time),
timeout(default value 00:00:00),
date(server date),
uid(logged in employee id),
day(present day like monday,tuesday etc.)

当他们点击结帐按钮时,我只是将超时值更新为服务器时间并计算工作时间并进行更新。

在我的 html 中,我编写了一个选择查询来从该表中选择特定员工 ID 的所有行并显示输出。现在我的问题是,如果用户没有签入任何日期,我希望该日期显示为"absent" or "no-shift".,我不确定如何执行此操作。任何想法和帮助将不胜感激。我需要尽快完成这个项目。

提前致谢。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    如果您假设工人预计工作五个星期,那么对于“缺勤”或“无轮班”的情况,您可以显示没有轮班条目的天数。这些缺失的行需要由工人解释。

    我认为您至少需要在表中添加一个“类型”列,该列将是 (SHIFT,ABSENT) 的枚举。

    一般来说,单表架构对于这些额外的用例似乎有点限制。

    【讨论】:

    • 我明白你现在所说的。但我真的想不出办法。在我的情况下,每当用户从网页上单击签入按钮时,数据库都会获得一个新行。因此,如果一个工人一天不来,显然数据库中不会有该特定工人的特定日期的任何行。那么现在我怎么知道那天没有工作呢?我是 php 和 mysql 的新手,如果我没有清楚地理解您的想法,请见谅。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 2012-04-07
    • 2011-01-19
    • 1970-01-01
    相关资源
    最近更新 更多