Вторник, 26 Ноября 2024, 13:30

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[PHP, jQuery] Автообновление данных через jQuery
dima9595Дата: Пятница, 26 Июня 2015, 15:49 | Сообщение # 1
почти ветеран
Сейчас нет на сайте
Доброго времени суток! Интересует такой вопрос: как сделать автообновление определённых данных на сайте при изменения их в БД.
Допустим, у нас есть сайт, в котором показывается баланс. Пользователю в БД изменили баланс. И как сделать так, что бы только этот баланс был изменён на сайте через jQuery.
Надеюсь вы меня поняли. Если будут какие-то вопросы, то с радостью отвечу) Заранее спасибо.


ЭргалонДата: Пятница, 26 Июня 2015, 17:06 | Сообщение # 2
Вездесущий
Сейчас нет на сайте
Чтобы пользователь видел измененный баланс, следовательно можно чекать бд через определенный промежуток времени. Например написать скрипт, который чекает таблицу в БД строку пользователя(по id) каждые 5 секунд и если баланс был изменен, то занести соответствующее значение. Но мне кажется это плохой практикой, т.к много запросов в бд будет поступать(если пользователей на сайте в данный момент 100 штук, это 100 запросов в БД каждые 5 секунд. Честно говоря не знаю на сколько это плохо, но как вариант)

Кубариум
Rise of the dark lords
dima9595Дата: Пятница, 26 Июня 2015, 17:56 | Сообщение # 3
почти ветеран
Сейчас нет на сайте
Эргалон, думал об этом, но я ищу другой метод. Похожая идея есть у вк, допустим, кто-то добавил публикацию на свой странице в вк, то сразу все пользователи видят это. Где-то я подобную тему видел на русском форуме, но не могу найти(

JackNazaryanДата: Пятница, 26 Июня 2015, 17:57 | Сообщение # 4
старожил
Сейчас нет на сайте
Код

setInterval(function() {
$.get('/someUrl', {'a': 'checkbalance'}, function(answer) {
if(document.getElementById('balance').innerHTML == answer) { return; }
document.getElementById('balance').innerHTML = answer;
}, "text");
}, 5000);


Данный код будет работать (проверять каждые 5 секунд) при условии, что /someUrl?a=checkbalance отвечает нужными данными, в нашем случае балансом. Поправьте, если сделал ошибку.
Цитата dima9595 ()
Эргалон, думал об этом, но я ищу другой метод. Похожая идея есть у вк, допустим, кто-то добавил публикацию на свой странице в вк, то сразу все пользователи видят это. Где-то я подобную тему видел на русском форуме, но не могу найти(

Можно установить постоянное соединение на сокетах
ЭргалонДата: Пятница, 26 Июня 2015, 23:57 | Сообщение # 5
Вездесущий
Сейчас нет на сайте
JackNazaryan, А нет еще какой-нибудь русской документации по сокетам? Пару дней назад заморочился над этой темой, но пока еще плохо представляю себе их работу

Кубариум
Rise of the dark lords
JackNazaryanДата: Суббота, 27 Июня 2015, 12:13 | Сообщение # 6
старожил
Сейчас нет на сайте
Эргалон, принцип работы вебсокетов прост: сервер и клиент устанавливают соединение, но не прерывают его. То есть они обмениваются данными в реальном времени.

Свалка полезных ссылок: 1, 2, 3. Ну и посмотри в сторону демона, правда если ты напишешь с нуля, будешь понимать принцип работы лучше.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг