使用php在mysql中查找适当的表来存储数据

使用php在mysql中查找适当的表来存储数据,php,mysql,Php,Mysql,我目前还不熟悉PHP和MySQL,我正在尝试为时间日志创建一个系统(记录进出时间) 我为存储员工帐户的用户创建了一个表,并创建了以不同用户命名的不同表。我要做的是将时间存储到以登录用户的名字命名的表中。 (用户(当前登录)=Employee1。然后,输入和输出时间数据应存储在名为“Employee1”的表中 如何使用PHP根据用户的用户名搜索正确的表?您不想为每个用户使用不同的表。有一个名为employees的表,如下所示: ID | First_name | La

我目前还不熟悉PHP和MySQL,我正在尝试为时间日志创建一个系统(记录进出时间)

我为存储员工帐户的用户创建了一个表,并创建了以不同用户命名的不同表。我要做的是将时间存储到以登录用户的名字命名的表中。 (用户(当前登录)=Employee1。然后,输入和输出时间数据应存储在名为“Employee1”的表中


如何使用PHP根据用户的用户名搜索正确的表?

您不想为每个用户使用不同的表。有一个名为
employees
的表,如下所示:

    ID    |   First_name    |    Last_name    |    Favorite_ice_cream
-------------------------------------------------------------------------
    1             Bill            Joneston               Chocolate
    2             Harry           Smitters               Sherbert
SELECT
    log.time_in,
    log.time_out
FROM time_logs log
JOIN employees e ON e.id = log.employee_id
WHERE e.first_name = 'Harry'
    AND e.last_name = 'Smitters'
    AND log.date = '2014-05-05'
此表存储员工的基本信息。请注意,每个员工的ID都是唯一的

然后创建另一个名为
time\u logs
的表,该表类似于:

Employee_ID    |   Time_In    |    Time_Out    |     Date
---------------------------------------------------------------
    1               8:00            5:00           2014-05-05
    2               8:30            5:30           2014-05-05
现在您可以使用这两个表来跟踪员工的时间日志

要根据Harry Smitter的姓名获取5月5日的时间统计信息,请运行如下查询:

    ID    |   First_name    |    Last_name    |    Favorite_ice_cream
-------------------------------------------------------------------------
    1             Bill            Joneston               Chocolate
    2             Harry           Smitters               Sherbert
SELECT
    log.time_in,
    log.time_out
FROM time_logs log
JOIN employees e ON e.id = log.employee_id
WHERE e.first_name = 'Harry'
    AND e.last_name = 'Smitters'
    AND log.date = '2014-05-05'

请注意,如果碰巧有两个“Harry Smitters”拥有5月5日的统计数据,你会得到他们的两个统计数据。

我很困惑。你为用户创建了一个存储员工帐户的表。听起来不错。但是,你也在数据库中为每个用户创建了一个表?对吗?那么,如果你有100名员工,你就有100个表es?这是一个很好的建议,但要补充一点,您可以使用第二个表将员工ID定义为维度。在这里,您可以包含员工ID的其他属性,如名字、姓氏等。@这是事实,我更新了我的答案以帮助说明这一点。这非常好。谢谢您的帮助!@user3627135太好了,很高兴我能帮上忙。如果有帮助的话,我还添加了一些信息:)@MarkM,关于你的回答,我该如何将Bill(ID:1)设置在第一个表上,而将Employee_ID#1设置在第二个表上?我是否应该设置一个条件,即如果Bill已登录,则要存储在第二个表中的数据在员工ID上的值为1?