Вывод с базы в реальном времени

12
dgoker11
На сайте с 11.01.2011
Offline
23
11312

Доброго времени суток!

Нужен совет знатоков программирования на ajax.

Есть несложная задача:

В таблице базы данных (mysql) есть значение, которое постоянно меняется. Как организовать вывод этого значения на странице без перезагрузки самой страницы?

Гугл и Яндекс не нашли толковых решений с простотой объяснения. Есть прогресс бары по загрузке файлов, но это не совсем то. Так как я в ajax и JS абсолютный ноль, то хотелось бы более адекватной подсказки, а не просто увидеть кучу кода.

Заранее спасибо! буду признателен за любую помощь!

Лучший хостинг! (http://www.ukraine.com.ua/?page=130244)
дани мапов
На сайте с 06.09.2012
Offline
204
#1

Обновление данных на странице, Подгрузка данных без полного F5 http://computernity.ru/index.php?s=&act=ST&f=15&t=7599

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
dgoker11
На сайте с 11.01.2011
Offline
23
#2
дани мапов:
Обновление данных на странице, Подгрузка данных без полного F5 http://computernity.ru/index.php?s=&act=ST&f=15&t=7599

Спасибо! Пошел читать и экспериментировать! Позже отпишусь...

siv1987
На сайте с 02.04.2009
Offline
427
#3

1) Создать ajax функцию для выдергивания нужных данных

2) Повесить функцию на setInterval

3) ...

4) Profit!

dgoker11
На сайте с 11.01.2011
Offline
23
#4
siv1987:
1) Создать ajax функцию для выдергивания нужных данных
2) Повесить функцию на setInterval
3) ...
4) Profit!

Скажите, а нет наглядного примера?

siv1987
На сайте с 02.04.2009
Offline
427
#5

В принципе наглядный пример вы можете увидеть по ссылке которую дали выше


function show()
{
$.ajax({
url: "run.php",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}

$(document).ready(function(){
show();
setInterval('show()',1000);
});
dgoker11
На сайте с 11.01.2011
Offline
23
#6
siv1987:
В принципе наглядный пример вы можете увидеть по ссылке которую дали выше


function show()
{
$.ajax({
url: "run.php",
cache: false,
success: function(html){
$("#content").html(html);
}
});
}

$(document).ready(function(){
show();
setInterval('show()',1000);
});

Да-да! Спасибо! Я уже разбираюсь! Отпишусь чуть позже...

---------- Добавлено 21.01.2013 в 23:52 ----------

Огромное спасибо за столь быструю помощь! Вопрос решен, тема закрыта! 🍿

rtyug
На сайте с 13.05.2009
Offline
263
#7

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

Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
C
На сайте с 04.02.2005
Offline
291
#8

rtyug, Предложите что-то другое....

Интервал запросов можно увеличить/уменьшить

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#9
rtyug:
такой код будет делать запросы каждую секунду, получается что будет отправляться много паразитных запросов на сервер

Это было есть и будет.

Палка о 2-ух концах.

Частота обновления VS нагрузка.

Чем выше одно, тем выше другое.

Если от этого запроса(держу пари, что запрос типа SELECT `field` FROM `tbl1` WHERE `id`='1') появится нагрузка на БД, то как можно говорить работе сайта в целом? Такие запросы выполняются доли секунды.

Так сервер и предназначен для работы, а не чтобы тупо пылиться в дата-центре. Если ТСу это(частые аяксы) необходимо, то почему бы и нет?

Подпись))
C
На сайте с 04.02.2005
Offline
291
#10

Конечно же, есть варианты и другие, например, использовать Websocket

При правильной схеме данных, можно значительно уменьшить нагрузку на запросы.

Т.е. сервер будет отдавать только измененные данные, а клиентская часть их принимать и обрабатывать.

В данном случае инициатором будет сервер, клиентский скипт будет отрабатывать только callback функцию.

Но.... это должен быть современный браузер, и сервер должен поддерживать websockets

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий