Если я понял, что следующий код может вам помочь. (Это основная идея о том, как это делать) Я предполагаю, что таблица, как:
+ workers_logs
- ID
- worker_id
- actiontime
- бла
и у нас будет массив с именем работники, который будет его структурой:
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 я должен проверить на основе даты, что запись является первой или второй раз. –