-2
직원의 날짜/시간을 기록한 테이블이 있으며 로그 아웃합니다. 이 날짜 시간에 따라 상태 로그인 또는 로그 아웃을 설정해야합니다. 조건을 날짜에 적용해야합니다. 날짜가 데이터베이스에 처음 존재하면 로그인하고 동일한 직원이 같은 날짜에 두 번째로 존재하면 로그 아웃됩니다.데이터베이스에 특정 날짜가 이미 존재하는지 확인하는 방법
어떻게하면됩니까?
직원의 날짜/시간을 기록한 테이블이 있으며 로그 아웃합니다. 이 날짜 시간에 따라 상태 로그인 또는 로그 아웃을 설정해야합니다. 조건을 날짜에 적용해야합니다. 날짜가 데이터베이스에 처음 존재하면 로그인하고 동일한 직원이 같은 날짜에 두 번째로 존재하면 로그 아웃됩니다.데이터베이스에 특정 날짜가 이미 존재하는지 확인하는 방법
어떻게하면됩니까?
내가 맞으면 다음 코드를 사용하면 도움이됩니다. 나는 테이블 같은 것을 믿고있어 (이 그 일을하는 방법의 주요 아이디어) :
이+
그리고 구조체가 될 workers라는 배열이 있습니다 :
workers[ worker_id ] [0] = 'login'
workers[ worker_id ] [1] = 'logout'
workers[ worker_id ] [2] = 'login'
workers[ worker_id2 ] [0] = 'login'
workers[ worker_id2 ] [1] = 'logout'
workers[ worker_id2 ] [2] = 'login'
// 코드 :
$workers = array();
$getWorkersLogs = mysql_query("SELECT worker_id,actiontime FROM workers_logs ORDER BY id ASC"); //Notice for: ORDER BY id ASC - it's very imporatnt in your case.
while($logs = mysql_fetch_array($getWorkersLogs))
{
if((!array_key_exists($logs['worker_id'] , $workers)) || count($workers[$log['worker_id']]) % 2 == 0)
{
//This is the first time we are dealing with this worker (so it's login)
//or it's an even number.
.....
.....
//Add this worker id to our array so next time will be logout
$workers[$logs['worker_id']][] = 'login'
}
else
{
$workers[$logs['worker_id']][] = 'logout'
}
}
나는 일이 밖으로 작동하지 않을 exists.but 경우 조건을 적용하기 위해 노력하고있어. –
"처음으로 데이터베이스에 날짜가 있으면 로그인하고 같은 직원이 같은 날짜를 두 번째로 존재하면 로그 아웃됩니다"라는 의미는 무엇입니까? – altschuler
데이터베이스 테이블에서 date.so를 제외한 모든 동일한 필드 값을 갖는 직원에 대한 두 개의 항목이 있음을 의미합니다.이 항목의 첫 번째 또는 두 번째 날짜 기준을 확인해야합니다. –