2016-03-07 2 views
3

это моя вставка раздел в $ total_minutes и $ total_hour косяк быть вставлены в таблицуне могу вставить разницу этого в таблице

$year = $_POST['year']; 
$month = $_POST['month']; 
$day = $_POST['day']; 
$hour = $_POST['hour']; 
$min = $_POST['min']; 
$sec = $_POST['sec']; 
$year1 = $_POST['year1']; 
$month1 = $_POST['month1']; 
$day1 = $_POST['day1']; 
$hour1 = $_POST['hour1']; 
$min1 = $_POST['min1']; 
$sec1 = $_POST['sec1']; 
$time_in = $year.'-'.$month.'-'.$day.' '.$hour.'-'.$min.'-'.$sec; 
$time_out = $year1.'-'.$month1.'-'.$day1.' '.$hour1.'-'.$min1.'-'.$sec1; 
$total_minutes = $total_min; 
$total_hour = $total_hr; 

$sql = "INSERT INTO time (year, month, day, hour, min, sec, year1, month1, day1, hour1, min1, sec1, time_in, time_out, total_minutes, total_hour) 
    VALUES 
    ('$year','$month','$day','$hour','$min','$sec','$year1','$month1','$day1','$hour1','$min1','$sec1','$time_in','$time_out', '$total_minutes', '$total_hour')"; 

, как я могу добавить это в моей таблице?


минут

$datetime1 = strtotime($row['time_in']); //year-month-day hr:min:sec timein 
$datetime2 = strtotime($row['time_out']); //year-month-day hr:min:sec timeout 
$interval = abs($datetime2 - $datetime1); 
$total_min = round($interval/60); 
$total_minutes = $total_min; 

час

function convertToHoursMins($total_minutes, $format = '%02d:%02d') { 
    if ($total_minutes < 1) { 
     return; 
    } 
    $hours = floor($total_minutes/60); 
    $wmin = ($total_minutes % 60); 
    return sprintf($format, $hours, $wmin); 
} 
$total_hr = convertToHoursMins($total_minutes, '%02d hours %02d minutes'); 
$total_hour = $total_hr; 

им новый и я хотел простой ответ

+0

Что значение '' time_in' и time_out'? Получаете ли вы ошибку –

+0

, какую ошибку вы получаете? – devpro

+0

@Uchiha Извините, просто измените $ datetime1 = strtotime ($ time_in) и $ datetime2 = strtotime ($ time_out) –

ответ

0

Вы должны преобразовать datetime1 и Datetime2 в этом формате первый:

datetime1 = 2012-01-01 12:00:00; 
datetime2 = 2012-01-02 13:00:00; 

Затем в моей SQL вставки запроса непосредственно вставить значение из следующих функций:

TIMESTAMPDIFF (ЧАС, datetime2, datetime1) // Для часы Расчет TIMESTAMPDIFF (МИНУТЫ, datetime2, datetime1) // для расчета Минуты

Надеется, что это может помочь вам :) функции

+0

, так как я могу поместить результат TIMESTAMPDIFF в $ total_minutes или $ total_hour –

+0

Вы хотите, чтобы эти значения вставлялись в таблицу вправо? – RK12

+0

Не принимайте это значение в любой переменной. Dircectly использует эту функцию в месте $ total_minutes и $ total_hour, которая может быть вставлена ​​в следующем запросе: $ sql = "INSERT INTO time (год, месяц, день, час, мин, сек, год1, месяц1, день1, час1, мин1, sec1, time_in, time_out, total_minutes, total_hour) VALUES ('$ year', '$ month', '$ day', '$ hour', '$ min', '$ sec', '$ year1', ' $ month1 ',' $ day1 ',' $ hour1 ',' $ min1 ',' $ sec1 ',' $ time_in ',' $ time_out ', TIMESTAMPDIFF (MINUTE, $ datetime2, $ datetime1), TIMESTAMPDIFF (MINUTE, $ datetime2, $ datetime1)) "; Прежде чем запускать это, проверьте строку concat. – RK12

1

Использование MySQL TimeDiff(), чтобы получить ответ. Вместо PHP функция MySQL дает результат очень простым способом.

$datetime1 = strtotime($row['time_in']); //year-month-day hr:min:sec timein 
$datetime2 = strtotime($row['time_out']); //year-month-day hr:min:sec timeout 

$timeInterval = mysql_query("SELECT TIMEDIFF($datetime2, $datetime1)"); 

$timeArray = explode(":", $timeInterval); 

Надеется, что это может помочь вам :)

+0

, но он не занесен в базу данных –

+0

Здесь мы не вставляем в базу данных. Просто мы вызываем функцию, она просто возвращает результат. Сравнивая с PHP, это самый простой способ получить разницу во времени. –

+0

спасибо, сэр, но это не проблема. Проблема заключается в введении разницы времени в базу данных. –

Смежные вопросы