Пользоватеть закрывает заявку в этот момент в таблицу пишется время закрытия, а мне нужно вывести на страницу разницу между новым значение времени и предыдущим. Ну на пример:
1-ая заявка:12:00:00
2-ая заявка:13:30:00(Разница меджду 1-й и 2-й состовляет 90 минут )
3-ая заявка:17:00:00 (Разница между 2-й и 3-й состовляет 210 минут )
Ну и дт.
Разницу во времени мне подсказали сделать так:
<?php
$begin = "13:01:45";
$end = "15:25:12";
list($bhour, $bminute, $bsecond) = explode(":", $begin);
list($ehour, $eminute, $esecond) = explode(":", $end);
$bseconds = $bhour * 3600 + $bminute * 60 + $bsecond;
$eseconds = $ehour * 3600 + $eminute * 60+ $esecond;
$minutes =abs (($eseconds - $bseconds) / 60);
echo $minutes;
?>
С самим циклом нет проблем. Но абсолютно не понятно как за один проход цикла посчитать разницу между данными которые есть в данном проходе цикла и данные которые должны только появиться в следующем.
Вот код:
$select=mysql_query("select date from event_time");
for($i=0;$i<mysql_num_rows($select);$i++)
{
$data=mysql_fetch_array($select);//Собственно значение времени
if($i!=0)// Это что бы не считалась разница у самой первой записи
{
//Но данные о времени тут буду абсолютно одинаковые
$begin = "$data[date]";//Здесь должно быть значение текущего времени
$end = "$data[date]"; //А тут по идее того которое появиться только во втором проходе цикла
list($bhour, $bminute, $bsecond) = explode(":", $begin);
list($ehour, $eminute, $esecond) = explode(":", $end);
$bseconds = $bhour * 3600 + $bminute * 60 + $bsecond;
$eseconds = $ehour * 3600 + $eminute * 60+ $esecond;
$minutes =abs (($eseconds - $bseconds) / 60); а тут в итоге 0 получаеться
}
}
Спустя 22 минуты, 44 секунды (4.05.2011 - 20:33) Mirexzpalich написал(а):
$select=mysql_query("SELECT `date` FROM `event_time`");
if(mysql_num_rows($select)>1)
{
$data=mysql_fetch_array($select);
$begin = $data['date'];
while($data=mysql_fetch_array($select))
{
$end = $data['date'];
$minutes =intval((strtotime($begin)-strtotime($end))/60);
$begin = $end;
echo $minutes.'<br />';
}
}
Спустя 40 минут, 20 секунд (4.05.2011 - 21:14) ИНСИ написал(а):
Вообще, это можно заменить одной строкой:
А по поводу цикла объясни по другому, если честно я совсем не понял
$nowDate = '13:30:00';
$newDate = '12:00:00';
$interval = floor((strtotime($nowDate) - strtotime($newDate)) / 60);
echo $interval;
А по поводу цикла объясни по другому, если честно я совсем не понял
Спустя 16 часов, 22 минуты, 53 секунды (5.05.2011 - 13:37) gekkon написал(а):
Граждане большое спасибо!