Как мне обновить MySQL с помощью PHP, но только если последнее обновление было более 24 часов назад? - PullRequest
0 голосов
/ 24 июля 2011

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

Страница автоматически обновляет информацию с помощью UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' при загрузке, но я бы хотел, чтобы ее игнорировали, если последнее обновление было менее 24 часов назад.

Я не уверен, что это может быть решено в ОБНОВЛЕНИИ, или есть лучшая альтернатива.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 24 июля 2011

Предполагается, что ваш столбец для последнего обновления last_updated

UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND DATE_SUB(NOW(), INTERVAL 24 HOUR)>last_updated
1 голос
/ 24 июля 2011

Вам нужно будет добавить в базу данных столбец, содержащий последнее обновление. Давайте предположим, что он называется last_update и DATETIME format.

$one_day_ago = strtotime('24 hours ago');

Затем выполните этот запрос:

UPDATE edits SET EDITS=EDITS+1 WHERE ID='$sID' AND last_update <= FROM_UNIXTIME('$one_day_ago')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...