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

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

17.08.2016, 20:27. Показов 11648. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru