Запретить чату AJAX показывать повторяющиеся сообщения (Javascript, PHP, MySQL) - PullRequest
0 голосов
/ 27 октября 2010

Я создал чат AJAX с использованием Javascript, PHP и MySQL.

Я отправляю данные чата с JSON со страницы PHP, которая получает данные из базы данных MySQL. Каждое сообщение чата вставляется в массив и обрабатывается вызовом AJAX каждые несколько секунд. Каждая строка в базе данных имеет метку времени, когда сообщение было отправлено (к метке времени добавляются миллисекунды к метке времени в этой форме: 1288147058.77943).

При каждом запросе AJAX столбец в базе данных пользователей обновляется с отметкой времени последней загрузки данных чата. Запрос, подобный следующему, используется для получения сообщений чата, которые были опубликованы после вашего последнего вызова AJAX.

SELECT user, message FROM chat WHERE posted_time >= '$last_check_get'

Однако иногда 2 запроса выполняются так быстро, что два запроса отправляют обратно одни и те же сообщения, поэтому они отображаются дважды, даже если на самом деле они не были опубликованы дважды. Как я могу избежать этого?

1 Ответ

1 голос
/ 27 октября 2010

Вместо использования метки времени присвойте каждому сообщению серийный номер.Проверка на наличие новых сообщений по существу остается прежней.

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