Скриншот
Я пытаюсь проверить, есть ли в строке Дата прибытия, тогда моя функция должна выполнить вычисление, иначе ничего не делать.
Как вы можете видеть на картинке, первая строка имеет все значения и время LOS правильное, но другие строки не имеют значений, и LOS должен быть пустым.
Вот мой код модели:
function time_ago($ptime) {
$query = null; //emptying in case
$shift_id = $_POST['shift_id'];
$arrival_time = $_POST['arrival_time'];
$query = $this->db->get_where('shift', array('shift_id' => $shift_id));
$count = $query->num_rows(); //counting result from query
if ($count = 0) {
$today = time();
$createdday = strtotime($ptime); //mysql timestamp of when post was created
$datediff = abs($today - $createdday);
$difftext = "";
$years = floor($datediff / (365 * 60 * 60 * 24));
$months = floor(($datediff - $years * 365 * 60 * 60 * 24) / (30 * 60 * 60 * 24));
$days = floor(($datediff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24) / (60 * 60 * 24));
$hours = floor($datediff / 3600);
$minutes = floor($datediff / 60);
$seconds = floor($datediff);
//year checker
if ($difftext == "") {
if ($years > 1)
$difftext = $years . " years";
elseif ($years == 1)
$difftext = $years . " year";
}
//month checker
if ($difftext == "") {
if ($months > 1)
$difftext = $months . " months";
elseif ($months == 1)
$difftext = $months . " month";
}
//month checker
if ($difftext == "") {
if ($days > 1)
$difftext = $days . " days";
elseif ($days == 1)
$difftext = $days . " day";
}
//hour checker
if ($difftext == "") {
if ($hours > 1)
$difftext = $hours . " hours";
elseif ($hours == 1)
$difftext = $hours . " hour";
}
//minutes checker
if ($difftext == "") {
if ($minutes > 1)
$difftext = $minutes . " minutes";
elseif ($minutes == 1)
$difftext = $minutes . " minute";
}
//seconds checker
if ($difftext == "") {
if ($seconds > 1)
$difftext = $seconds . " seconds";
elseif ($seconds == 1)
$difftext = $seconds . " second";
}
return $difftext;
}else{
return null;
}
}