[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. Ну и посмотри в сторону демона, правда если ты напишешь с нуля, будешь понимать принцип работы лучше.
|
|
| |