在php中记录时间和超时

时间:2013-02-22 04:03:04

标签: php mysql

  

我正在尝试进行出勤监控,其中一个人可以按照他/她的意愿定时和超时,只要它将被记录到数据库中。

id   idnumber    datein      timein     dateout     timeout

1     123      2013-02-21   08:00:01   2013-02-21   11:12:45

2     456      2013-02-21   10:15:01   2013-02-21   05:30:01

3     123      2013-02-21   06:58:52   2013-02-21   03:20:16

4     123      2013-02-21   10:05:35   2013-02-21 
  

任何人都可以在php中给我一个插入/更新代码吗?

     

我有这个代码,如果不存在则可以插入idnumber,如果存在则更新。

$query = "SELECT * FROM tblattendance WHERE idnumber='".$_POST[idnumber']."'";
$res = mysql_query($query);
list($exist) = mysql_fetch_array($res);

    if (!$exist){
          $query = "INSERT INTO tblattendance SET idnumber='".$_POST['idnumber']."', datein=CURDATE(), timein = CURTIME()";
          $insert_result = mysql_query($query);
    }else{
         $query1 = "UPDATE tblattendance SET dateout=CURDATE(), timeout = CURTIME() WHERE idnumber='".$_POST['idnumber']."' ORDER BY id DESC LIMIT 1 ";
         $insert_result1 = mysql_query($query1);    
    }
  

我想要的是我可以在不更新旧记录的情况下插入相同的idnumber。有可能吗?

1 个答案:

答案 0 :(得分:0)

创建复合ID键。这是两列的唯一约束 - idnumber +类型,其中类型为例如0 = in,1 = out。

CREATE TABLE foo (
   id INT PRIMARY KEY,
   idnumber INT,
   type TINYINT(1),
   UNIQUE KEY idtype (id, type)
);