AJAX и актуальные данные с сервера

(Ответов: 2, Просмотров: 792)
  1. Дипломник Аватар для ZCFDDD
    • Регистрация: 01.06.2012
    • Сообщений: 104
    • Репутация: 6
    Доброго

    Задача: на странице таблица, куда выводится 4-5 колонок из БД. Добавление, редактирование, удаление - через ajax. Выдал формочку, отправил запрос, получил ответ, дописал в таблицу. Это понятно.

    Нужно реализовать отображение на странице актуальных данных из БД даже если эти изменения делал другой пользователь с другой такой же страницы. Т.е. в базе обновились данные - это отразилось на странице.

    Как это делается? Алгоритм не ясен. (видимо, предполагается, что пользователей несколько - в этом и затык).

    Пока вижу решение в промеждуточнойт аблице, куда пишется идентефикатор сессии-пользователя и команды, которые нужно отправить клиенту, плюс флаг получения. И по таймауту опрашивать эту таблицу. Но как-то коряво выглядит. Может есть решения, но я просто не знаю.

    Спасибо за помощь
    • 0
  2. Дипломник
    • Регистрация: 19.12.2009
    • Сообщений: 145
    • Репутация: 32
    Алгоритм:
    При получении данных пользователем отдавать еще и время последней модификации этих данных.
    Если один из пользователей изменил какие-либо данные, то время последней модификации тоже изменяется.
    По таймеру (раз в секунду/пять/десять...) аяксом спрашивать время последней модификации, при этом посылать время модификации данных у текущего пользователя. Если не совпадают, то обновлять данные.
    • 1

    Спасибо сказали:

    ZCFDDD(24.07.2012),
  3. Студент Аватар для FaNiska
    • Регистрация: 29.09.2011
    • Сообщений: 31
    • Репутация: 1
    ZCFDDD, код типа

    Код HTML:
    <script type="text/javascript">
    function update_stat()
    {
        // тут пишите функцию которая обновляет таблицу
    }
    setInterval("update_stat()", 10000);
    </script>
    Это пример того, как можно обновлять раз в 10 секунд. Внутри функции нужно прописать рабочий код, который обновляет у вас таблицу.

    Если уж про алгоритм, то можно присвоить таблице атрибут id="", который будет содержать timestamp времени последнего обновления таблицы.
    При проверке через JS достаем timestamp из таблицы на страницы и отправляем запрос в БД.
    Если этот timestamp меньше того, что записан у последней записи в базе данных, то можно вновь обновлять таблицу на странице.
    Это решение позволит избежать создания промежуточной таблицы в базе данных для хранения времени последнего обновления.

    Возможно не допонял вопроса. Если что уточните, постараюсь конкретизировать ответ.
    Последний раз редактировалось FaNiska; 26.07.2012 в 15:28.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Актуальные на 2011 год методы получения обратных ссылок
Обучающие статьи 28 06.08.2012 17:40
Как поднять тиц? Актуальные методы
Дайджест блогосферы 9 16.06.2011 21:14
24-Hoster Solutions - Виртуальный хостинг, VPS сервера, Выделенные сервера
Хостинг, сервера, домены 0 10.08.2010 23:24
Сервис ActualKeywords.com - актуальные базы кеев по всем нишам
Реклама партнерских программ 2 30.03.2010 13:15

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры