Как отобразить time_ago в другой функции

Эта функция предназначена для отображения того, что находится внутри моей таблицы, но я не могу понять, как отобразить функцию time_ago, где она должна отображать секунды, часы или недели, просто хочу отображать секунды час или неделю вместо дня и года месяца, но я получаю сообщение об ошибке. к неопределенной функции time_ago () я не знаю, что я сделал неправильно, но я просто могу понять, что пошло не так с моим кодом. в строке 505 произошла ошибка: —> ‘. time_ago ($ row [‘lastupdate’]). ‘

    public static function getTicketByUserID(){
$mysqli = dbConnect();
$sql = "select
t.id as ticketid,
t.clientid,
t.comments,
t.assigneduser,
t.subject,
t.user,
t.lastupdate,
t.opendate,
(select c.department_name from department c where c.department_id = t.categoryid) as category,
(select ts.status
from ticketstatus ts
where ts.ticketid = t.id
and ts.statusdate = (select max(ts2.statusdate)
from ticketstatus ts2
where ts.ticketid = ts2.ticketid)) as status
from tickets t
where t.user = '". $_SESSION['name'] ."'
and (select ts.status
from ticketstatus ts
where ts.ticketid = t.id
and ts.statusdate = (select max(ts2.statusdate)
from ticketstatus ts2
where ts.ticketid = ts2.ticketid)) <> 'Closed'
order by t.opendate desc";




$result = $mysqli->query($sql);
echo '<table class="table table-hover table-striped table-responsive"><th>User</th><th>Subject</th><th>Group</th><th>Created</th><th>Last update</th><th>Status</th>';
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
if ($row['status'] == 'Closed') { $class = "btn btn-danger";}
elseif ($row['status'] == 'Open') { $class = "btn btn-success";}
elseif ($row['status'] == 'Waiting on Client') {$class = "btn btn-info";}
else { $class = "btn btn-warning"; }
echo '<tr class="table_row">
<td>' .$row['user'] .'</td>
<td>' .$row['subject'] .'</td>

<td>' . $row['category'] . '</td>
<td>' . date("F j, Y, g:i a", strtotime($row['opendate'])) . '</td>
<td>' . time_ago($row['lastupdate']) . '</td>
<td><form method="POST">
<input name="ticketId" value="' . $row['ticketid'] . '" type="text" hidden />
<button type="submit"   class="'.$class .'">'.$row['status'] .'</button></form>
</td>
</tr>';
}
} else {
echo '</table>';
$conn->close();
}

Это моя функция для time_ago получить эту ошибку Вызов неопределенной функции time_ago () Что я сделал не так?

function time_ago($ts)
{
$mins = floor((gmtime() - $ts)/60);
$hours = floor($mins/60);
$mins -= $hours*60;
$days = floor($hours/24);
$hours -= $days*24;
$weeks = floor($days/7);
$days -= $weeks*7;

if ($weeks == 1)
$w = "week";
elseif ($weeks > 1 && $weeks < 5)
$w = "weeks";
elseif ($weeks > 4)
$w = "weeks";
if ($weeks >= 1){
$we = "".$weeks." ".$w."";
}

if ($days == 1)
$d = "day";
elseif ($days > 1 && $days < 5)
$d = "day";
elseif ($days > 4)
$d = "days";
if ($days >= 1 ){
$da = "".$days." ".$d."";
}

if ($hours == 1)
$h = "hour";
elseif ($hours > 1 && $hours < 5)
$h = "hour";
elseif ($hours > 4)
$h = "hours";
if ($hours >= 1){
$ho = "".$hours." ".$h."";
}

if ($mins > 10 && $mins < 15)
$m = "minute";
elseif (($mins%10) == 1)
$m = "minute";
elseif (($mins%10) > 1 && ($mins%10) < 5)
$m = "minutes";
elseif (($mins%10) > 4)
$m = "minute";
if ($mins >= 1){
$mi = "".$mins." ".$m."";
}else{
$mi = "less than a minute";
}

if ($weeks || $days || $hours || $mins)
return $we." ".$da." ".$ho." ".$mi;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …