Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вставка переменной в формулу (https://javascript.ru/forum/misc/59680-vstavka-peremennojj-v-formulu.html)

Becass 22.11.2015 19:53

Цитата:

Сообщение от laimas (Сообщение 397181)
Что значит сразу создавать базу? А где же у вас храниться основной контент сайта? Надо полагать в базе, если сайт динамический, а значит база уже существует, и нужно только создать таблицу в ней, которая и будет хранить в себе все конфигурационные переменные подверженные изменениям во времени или же изменяемые оперативно. В эту таблицу и должен писать курс валюты планировщик задач.

Если и с этим проблемы, пишите для начала хотя бы в файл, но разберитесь в конце концов с тем что такое курс, как его получать и использовать.

Получать я его научился уже. Получил я его в файл / БД, опять встает вопрос подставление этого числа в формулу.

laimas 22.11.2015 19:59

Я ранее уже писал как получить его, и если асинхронным запросом, и помещать в переменную, а потом использовать, то читать выше. Не понимаете что это такое, вставляйте сразу в вывод страницы и используйте.

Becass 22.11.2015 20:05

Решение проблемы на чистом JS

Получаем курс доллара

<?php
$today = date("d/m/Y");
 $fp = fopen('cb.xml', 'w');
 $ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
      'http://www.cbr.ru/scripts/XML_daily.asp?date_req='.$today);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_exec($ch);
fclose($fp);
curl_close ($ch);
?>


Получаем нужное число и объявляем функцию

<script src="http://code.jquery.com/jquery-latest.js";></script>
	<SCRIPT>
$(document).ready(function () {
       $.ajax({
		url: 'cb.xml',
		dataType: 'xml'
	}).done(function (xml) {
		$(xml).find('Valute').each(function() {
			if ($(this).attr('ID') == 'R01239') {
				currency = parseFloat($(this).find('Value')
						.text().replace(',', '.'));
			}
		});
	});
});


Вставляем в формулу

S = (Pbum + Ppec + Potd) * currency;


Не один из представленных в теме ответов не были верными

laimas 22.11.2015 20:11

Вам известно что такое асинхронность?
Чтобы подставить в формулу полученное асинхронным запросом, формула должна решаться гарантированно после того, как сервер вернул ответ, а клиент "породил" то, что вы пытаетесь подставить в нее.
Вам об этом не раз говорилось, вы либо не читаете, либо гоните коней.

Becass 22.11.2015 20:22

Цитата:

Сообщение от laimas (Сообщение 397186)
Вам известно что такое асинхронность?
Чтобы подставить в формулу полученное асинхронным запросом, формула должна решаться гарантированно после того, как сервер вернул ответ, а клиент "породил" то, что вы пытаетесь подставить в нее.
Вам об этом не раз говорилось, вы либо не читаете, либо гоните коней.

По факту я добился того чего хотел, и у меня все работает и корректно подставляет число и считает данные. В чем ошибка тогда?

laimas 22.11.2015 20:32

Если ранее не удавалось добиться этого же, то ошибка была в том, что подставлялось несуществующее, еще раз говорить почему это происходит не буду.
А вот в чем ошибка получения курса написано выше - вы продолжаете заниматься глупостями, заставляя это же делать и клиентов.

Becass 22.11.2015 20:37

laimas,
а в чем ошибка то?
Крон запустил php Файл ( раз в сутки ), который получил данные в xml, далее JS берет нужные ему данные и вставляет в формулу.
Тему можно закрывать

laimas 22.11.2015 20:41

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


Часовой пояс GMT +3, время: 22:19.