@duck_king

Как получать данные с бд в реальном времени с помощью ajax?

Нужно с базы данных получать сообщения, при появлении новой строки в бд выводить. в базе данных имеются столбцы: p1, p2, content, tag. Пробовал сделать сам на ajax'е, но запрос ни в какую не хотел выполнятся.
Предложите какие-нибуть статьи с простыми способами где всё расписано.
  • Вопрос задан
  • 863 просмотра
Пригласить эксперта
Ответы на вопрос 2
tregor
@tregor
Senior PHP Backend developer
Первый вариант, более простой в реализации:
Используя AJAX делаем периодичные запросы на скрипт (назовём его к примеру DBquery.php).
Каждую секунду отправляем запрос содержащий ID последней полученной записи, скрипт обращается в БД с запросом а-ля "SELECT `p1`,`p2`,`content`,`tag` FROM `table` WHERE `id` > 33".
Полученный ответ форматируем при необходимости и выводим.

Плюсы - написать такой код займёт 20 минут максимум.
Минусы - частота обновления ограничивается частотой AJAX запросов.


Второй вариант, чуть сложнее, но минусов прямых нет.
То же самое, что и в первом случае, только AJAX заменяем на технологию WebSockets. Разница AJAX и WebSockets заключается в том, что AJAX нужно вызывать переодически, а WebSockets висит всегда. Т.е. если появилась новая запись в БД, то AJAX её передаст в течении 1 секунды, а WebSockets отдаст моментально.
В остальном всё точно так же, есть скрипт, который делает запросы к БД и возвращает результат при необходимости отформатированный.
Ответ написан
@Stqs
senior software developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы