Используете метку времени, чтобы показать активных пользователей? - PullRequest
0 голосов
/ 24 октября 2011

Я работаю над довольно простой системой управления контентом (CMS). Существует таблица базы данных, содержащая имена пользователей, пароли, адреса электронной почты и поле даты / времени, показывающее, когда пользователь вошел в систему в последний раз (я использовал «NOW ()» в запросе при обновлении).

Когда пользователь успешно войдет в систему, скрипт обновит таблицу в базе данных и установит новое время (используя NOW ()).

Теперь я хотел бы показать, какие пользователи вошли в систему за последние 5 или 10 минут. Я понятия не имею, как этого добиться, поэтому я зову на вашу помощь. В интернете я прочитал, что мне нужно сделать это с отметкой времени, но я понятия не имею, как это работает.

  1. Мне нужно знать, как установить определенную временную метку.

  2. Мне нужно знать, как я могу проверить в PHP, выполнил ли пользователь вход в систему за последние 5 или 10 минут, чтобы я мог где-то отобразить его имена.

Спасибо за вашу помощь!

Ответы [ 2 ]

4 голосов
/ 24 октября 2011

1. Зачем вам нужно настраивать временную метку?Использование NOW () - это все, что вам нужно.

2. Этот запрос найдет всех пользователей, для которых столбец latest_login находится в последние 10 минут:

SELECT * FROM users WHERE latest_login >= DATE_SUB(NOW(), INTERVAL 10 MINUTE)

0 голосов
/ 24 октября 2011

хорошо, это довольно просто

1ts - преобразовать вашу дату в метку времени, используя функцию mktime (проверьте google, скажем, $ date)

2nd - используйте функцию time (), чтобы получить текущую метку времени(скажем, $ сейчас)

3-й, если (($ сейчас - $ дата)> (5 * 60 / * 5 минут * /)) {вернуть "не логин"}, иначе вернуть "логин"

метка времени считает секунды, поэтому 5 * 60 - это 5 минут

...