您好,任何人都可以帮助我...我已经尝试了几种不同的方法,同时试图实现这样的输出。
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 中有这两个代码可以工作,但不是我想要的输出。
下面的代码只插入一条记录,但更新不起作用:
if (isset($_POST['idnumber'])){
$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 的现有记录时执行插入和更新,但如果 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);
}