こんにちは、誰かが私を助けることができます...私はそのような出力を達成しようとしている間、すでにいくつかの異なるアプローチを試しました。
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にこの2つのコードがありますが、機能しますが、必要な出力はありません。
以下のコードはレコードのみを挿入していますが、更新は機能しません。
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);
}
以下のコードは、ID番号の既存のレコードがない場合にのみ挿入と更新を実行しますが、ID番号が存在する場合は、タイムアウト列を更新するだけです。
$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);
}