показывает время последней добавленной реакции

0

Я хочу показать, когда была добавлена последняя "реакция". Я думаю, что для этого есть простое решение php, но я на самом деле не нахожу его.

Изображение 174551

Как вы можете видеть в базе данных, есть также отметка времени, когда добавлена реакция. теперь я хочу отобразить время, когда была добавлена последняя реакция.

  • 0
    «Теперь я хочу показать время, когда была добавлена последняя реакция». Не основывая время последней реакции на столбцах memberpage_id (ledenpagina_id), topic_id (onderwerp_id) или customer_id (klant_id)? не по теме ps смешивать ваш родной язык (голландский) для имени таблицы и некоторых столбцов таблицы с английским языком программирования неуклюже ..
  • 1
    Вы должны обязательно добавить еще несколько деталей, включая код. Пожалуйста, проверьте здесь о том, как задать хорошие вопросы: stackoverflow.com/help/how-to-ask
Теги:

2 ответа

0

Ты можешь сделать:

select max(create_time)
from reacties;

Если вам нужна целая строка:

select r.*
from reacties r
order by create_time desc
limit 1;
  • 0
    Виноват! Я хотел посчитать разницу. Так что «последняя реакция была 8 часов назад»
0

Попробуйте этот код, он должен выполнить эту работу.

Вам просто нужно добавить свои учетные данные базы данных.

https://www.w3schools.com/php/php_mysql_select.asp

Это функция PHP, которая преобразует временную метку в формат "назад", используя ее в сочетании с MySQLi Query. Преобразование timestamp ко времени назад в PHP, например, 1 день назад, 2 дня назад...

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

function time_elapsed_string($datetime, $full = false) {
    $now = new DateTime;
    $ago = new DateTime($datetime);
    $diff = $now->diff($ago);

    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    $string = array(
        'y' => 'year',
        'm' => 'month',
        'w' => 'week',
        'd' => 'day',
        'h' => 'hour',
        'i' => 'minute',
        's' => 'second',
    );
    foreach ($string as $k => &$v) {
        if ($diff->$k) {
            $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
        } else {
            unset($string[$k]);
        }
    }

    if (!$full) $string = array_slice($string, 0, 1);
    return $string ? implode(', ', $string) . ' ago' : 'just now';
}

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT reactie, create_time FROM reacties ORDER BY create_time DESC LIMIT 1";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "Reactie: ".$row['reatie']." Timestamp: "+time_elapsed_string($row['create_time']);
    }
} else {
    echo "0 results";
}
$conn->close();
?>
  • 0
    «Теперь я хочу показать время, когда была добавлена последняя реакция». я не понимаю, как и почему этот код должен работать так, как хотел автор темы ... Потому что вы распечатываете все записи ...
  • 0
    Да, тогда он должен приказать и ограничить это, но, по крайней мере, это толчок в правильном направлении, также он не ясно указал, как он хотел бы показать это, так что я просто предполагал, извините ...
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню