2017-02-13 5 views
-2

Я использую php, sql, javascript Я создаю систему запросов друга, если пользователь-1 отправляет пользователю-2 запрос друга user-2 имеет 1 час, чтобы принять этот запрос друга или запрос друга автоматически отказано/удалено. , , Я могу использовать setimeout для запуска этой функции, но если страница обновлена, функция перестает быть хорошей, мне нужно, чтобы она могла работать, даже если оба пользователя больше не в сети. , , поэтому, если пользователь-1 и пользователь-2 одновременно подключены к Интернету в момент отправки запроса друга. , , user-2 и user-1, мне нужно, чтобы этот запрос друга был удален в течение 1 часа с момента отправки, я вполне уверен, что функция должна быть запущена на сервере или что-то просто не известно, в каком направлении мне понадобится посмотреть его! просто запутался, может быть, функция в php, которую я могу использовать?settimeout php sql

+0

хранить временную метку с запросом первоначального друга в базе данных. Затем, когда вы запрашиваете новые запросы друг другу, вы либо добавляете в предложение where, и currentTime <[timestamp + 1 hour] ', либо запускаете запрос, чтобы удалить все, что старше 1 часа, прежде чем запрашивать их. Выполнение первого варианта позволяет сохранить запрос, а затем вы можете просто запускать один запрос с помощью cron, как каждый день, чтобы удалить старые запросы друзей. –

+0

сделать так много смысла спасибо –

ответ

2

Вы можете хранить время в базе данных.
Итак, когда user1 отправляет запрос другу пользователю2, вы будете делать запрос к базе данных и хранить в таблице user1_id user2_id request_time.
Чем, в какой-то период времени, вы должны проверить, если

текущее время> stored_time + 1 час
Если это так, удалите запрос друга.

+0

wow thanks звучит так просто –

1

Кроме того, что @Grynets сказал, я бы также использовал задачу CRON, чтобы автоматически удалить запрос из базы данных после часа. Таким образом, вы сохраните много места. Представьте, что друг 1 никогда не пришел, чтобы проверить запрос, он останется в базе данных.
Вы можете узнать больше о cron по этой ссылке https://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428

+0

точно, если они никогда не вернутся, отличная надстройка ima проверить это сейчас. , , это важно –