Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.61/56: Рейтинг темы: голосов - 56, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30

Обновление переменной без перезагрузки страницы

17.08.2016, 20:27. Показов 11714. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я тут новичок,поэтому не судите строго..

Суть в чем: у меня есть переменная, скажем $sum, значения которой берутся из базы данных, к примеру:

$sum = data1["data1"] * data2["data2"];

Мне нужно, чтобы эта переменная $sum обновлялась без перезагрузки страницы через указанное время (скажем 10 секунд) и выводилась в нужном div:

<div id="sum">$sum</div>

Буду благодарен за конкретные примеры (нужное подставлю сам).
Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.08.2016, 20:27
Ответы с готовыми решениями:

Обновление переменной без перезагрузки страницы
подскажите как сделать обновление переменной hph без перезагрузки страницы при смене ее значения.

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

Обновление блока без перезагрузки страницы
Помогите, вот у меня есть сайт на Ucoz, там есть блок &quot;Опросы&quot; Мне надо чтобы при нажатии на ссылку, обновлялся только этот блок, без...

48
Заблокирован
17.08.2016, 20:32
JavaScript'ом запроси новое значение - ajax.
0
46 / 38 / 26
Регистрация: 11.08.2016
Сообщений: 139
17.08.2016, 20:33
JavaScript
1
2
3
setInterval(function() {
document.querySelector("#sum").innerHtml = sum;
}, 10000)
это если переменная есть в js. если в php, то, как сказали выше, ajax, да
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 20:40  [ТС]
Хорошо, приведу весь пример конкретно:

<?PHP
$sum = $func->SumCalc($sonfig_site["a_in_h"], $user_data["level"], $user_data["last_sbor"]);
?>

Произведено деталей: <div id="sum"><?=$sum;?></div> шт.<br><br>


Добавив:

<script>
setInterval(function() {
document.querySelector("#sum").innerHtml = sum;
}, 10000)
</script>


ничего не работает...
0
Заблокирован
17.08.2016, 20:42
Цитата Сообщение от skroliks Посмотреть сообщение
document.querySelector("#sum").innerHtml = sum;
Вот в этой строчке, откуда возьмется переменная sum?
Эта переменная у тебя вообще в php коде на сервере, твоя страница с JS о ней ничего не знает. Она вообще не в курсе, что там у тебя на сервере происходит, какие там у тебя переменные и т. д.
Сделай отдельный сервис, который по запросу будет выдавать нужные данные твоей странице, и JS-код, используя их будет ее обновлять. Почитй про Ajax, REST, JSON и так далее.
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 20:50  [ТС]
этот код я взял из поста с ответом выше..
Если садиться читать все - это куча времени,пока найдешь нужное, поэтому и попросил с примером..
0
46 / 38 / 26
Регистрация: 11.08.2016
Сообщений: 139
17.08.2016, 20:50
в посте выше я не зря добавил:
это если переменная есть в js.
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 20:53  [ТС]
crackos, если вас не затруднит - напишите, как завести эти переменные в js:


$sum = $func->SumCalc($sonfig_site["a_in_h"], $user_data["level"], $user_data["last_sbor"]);
0
Заблокирован
17.08.2016, 20:54
Цитата Сообщение от crackos Посмотреть сообщение
это если переменная есть в js
А менять-то ее с сервера кто будет? Наличие переменной в JS никак не поможет в пересылке какого-то значения с сервера.
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 20:57  [ТС]
По сути, я понимаю, что нужно переменную $sum описать в js - и потом уже установить интервал ее вывода (я правильно мыслю?) там же.. Подскажите на конкретном примере как?
0
46 / 38 / 26
Регистрация: 11.08.2016
Сообщений: 139
17.08.2016, 20:58
nimazzzy, просто я когда первый ответ писал, подумал, что там весь код на js
0
Заблокирован
17.08.2016, 21:01
Цитата Сообщение от crackos Посмотреть сообщение
nimazzzy, просто я когда первый ответ писал, подумал, что там весь код на js
Может быть. Просто $ в именах переменных, это обычно пхп или перл
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 21:02  [ТС]
nimazzzy, а мне кто-то поможет?
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
17.08.2016, 21:30
skroliks,
php по какому-то адресу должен выдавать переменную, например /demo.php
запрашиваете через ajax /demo.php и вот вам вернется переменная
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 21:33  [ТС]
XRoy, ну это я понял - а можно конкретный пример запроса? Исходя их моих переменных.. Просто ни в js ни в ajax (хоть они и похожи) я мало пока понимаю.. Поэтому и спросил..

Добавлено через 48 секунд
Я имею в виду что должно быть в файле ajax/demo.php ?
0
Эксперт HTML/CSS
 Аватар для Shakalaka
653 / 556 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.08.2016, 21:43
skroliks,
demo.php
PHP
1
2
3
4
<?PHP
$sum = $func->SumCalc($sonfig_site["a_in_h"], $user_data["level"], $user_data["last_sbor"]);
echo $sum;
?>
script.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var container = document.getElementById("sum");
function getSum(){
    var req = new XMLHttpRequest();
    req.open("GET", "demo.php");
    req.send();
    req.onreadystatechange = function(){
        if(req.readyState == 4 && req.status == 200){
            container.innerHTML = req.responseText;
        }
    }
}
setInterval(function(){
    getSum();
}, 10000)
index.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!doctype html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
    <div id="sum">
        
    </div>
</body>
<script src="script.js"></script>
</html>
0
0 / 0 / 0
Регистрация: 14.07.2016
Сообщений: 30
17.08.2016, 22:06  [ТС]
Shakalaka, сделал все, как вы написали:

<?PHP
$sum = $func->SumCalc($sonfig_site["a_in_h"], $user_data["level"], $user_data["last_sbor"]);
echo $sum;
?>

поместил в файл: ajax/sum.php

var container = document.getElementById("sum");
function getSum(){
var req = new XMLHttpRequest();
req.open("GET", "ajax/sum.php");
req.send();
req.onreadystatechange = function(){
if(req.readyState == 4 && req.status == 200){
container.innerHTML = req.responseText;
}
}
}
setInterval(function(){
getSum();
}, 10000)


непосредственно в самом файле, где выводится переменная

ну и сам вывод:

Произведено деталей: <div id="sum"><?=$sum;?></div> шт.<br><br>

не работает.. где ошибка?
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
17.08.2016, 22:07
skroliks,
Имя файла же не demo.php, а ajax/sum.php
0
Эксперт HTML/CSS
 Аватар для Shakalaka
653 / 556 / 322
Регистрация: 27.01.2015
Сообщений: 1,374
17.08.2016, 22:08
Цитата Сообщение от skroliks Посмотреть сообщение
где ошибка?
в консоли браузера что выводится?
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
17.08.2016, 22:08
Ну и вывод через, а не php переменной, которая не пойми откуда там должна взяться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.08.2016, 22:08
Помогаю со студенческими работами здесь

Обновление JS скрипта без перезагрузки веб-страницы
Есть скрипт: &lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt; &lt;!-- function getRandom300(m,n){ return...

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

Обновление контента по условию из БД без перезагрузки страницы
Добрый день! Как сделать подгрузку контента из БД по условию без перезагрузки страницы. На данный момент есть 2 радио кнопки и кнопка...

Обновление контента в блоке без перезагрузки страницы
Есть страница index.html Есть блок, например с классом content, в котором много блоков с различным контентом. Есть также...

Ajax обновление контента без перезагрузки страницы
Ребята доброго времени! Помогите пожалуйста! Есть не доработанный сайт, в нем есть страница, в странице есть код обновления контента без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru