Подскажите, пожалуйста, куда копать. Есть скрипт на php - выбирает время из базы Код (Text): $query="select sec_to_time(sum(time_to_sec(time))) "; Далее идёт вывод этого добра через список {$row['sec_to_time(sum(time_to_sec(time)))']}, и тут всё замечательно, но сумму этого списка выдаёт как округлённую сумму по часам. Например, 10:22:00+00:10:00=10, просто 10. Как на этапе сложения преобразовать в секунды, а потом обратно в нормальный формат? Т.е. получается, что в переменную мы суммируем секунды, а вывод её переделываем в ч.м.с
Ничего там не округляется, это ты позже где-то косячишь, превращаещь стррку в целое. Выражению SQL можно дать имя, чтобы не писать такой ужас в качестве индекса массива.
Косяк поправлен - сделал запрос на секунды, потом их суммировал, а потом уж переводил в норм. время. но у меня вопрос, почему в результате секунды у меня уходят в отрицание? Дело в том, что время уж очень большое. Я заметил, что sec_to_time значение больше 838:59:59 не выводит. Как сумма получается 716800:41:-16. Пробовал поменять на дни:часы:минуты:сек. Тоже секунды отрицательные. В базе есть ещё один столбец со временем, там оно значительно меньше, так вот там таких проблем нет - все считается верно. Я так понимаю, с таким количеством часов мой метод не прокатывает. Что можете посоветовать? Перевожу так: $sum_end_time=sprintf("%d:%02d:%02d", floor($sum_time / 3600), (($sum_time / 60) % 60), ($sum_time % 60));