在php中记录timein和timeout
我正在尝试制作一个出勤监控系统,在这个系统中,只要记录到数据库中,一个人就可以随意超时 有人能给我一个php的插入/更新代码吗 我有这个代码,可以插入idnumber,如果不存在和更新,如果存在 我想要的是我可以插入相同的idnumber而不更新旧记录。可能吗在php中记录timein和timeout,php,mysql,Php,Mysql,我正在尝试制作一个出勤监控系统,在这个系统中,只要记录到数据库中,一个人就可以随意超时 有人能给我一个php的插入/更新代码吗 我有这个代码,可以插入idnumber,如果不存在和更新,如果存在 我想要的是我可以插入相同的idnumber而不更新旧记录。可能吗 创建一个复合ID密钥。这是两列上的唯一约束-idnumber+类型,其中类型为0=in,1=out CREATE TABLE foo ( id INT PRIMARY KEY, idnumber INT, type TI
创建一个复合ID密钥。这是两列上的唯一约束-
idnumber
+类型,其中类型为0=in,1=out
CREATE TABLE foo (
id INT PRIMARY KEY,
idnumber INT,
type TINYINT(1),
UNIQUE KEY idtype (id, type)
);
实际上,idnumber是TBlattendance中的一个外键如果它是一个外键,并且一个idnumber需要有2条记录,那么您必须在这些记录之间添加另一个表(idnumber作为PK),而
idnumber
将是从foo
到这个新表PK的FK。至少如果你想保持规范化的模式和FKs。谢谢分享你的想法。我终于明白了:)在堆栈溢出上,单击绿色的“接受”复选框表示感谢;-)
$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);
}
CREATE TABLE foo (
id INT PRIMARY KEY,
idnumber INT,
type TINYINT(1),
UNIQUE KEY idtype (id, type)
);