И звезды погасли. Фантастика. (04 фев 2025)
Казалось бы, давно уже не торт: банальная идея, всеми корнями в экзистенциализме - привычный нам мир создан объективациями, пересечениями и взаимопроникновениями индивидуальных сознаний.
Парсим курс валют ЦБ без регулярок
- Aleksej
-
Автор темы
- Не в сети
- Модератор
-
Less
Больше
10 года 3 нед. назад - 10 года 3 нед. назад #1
от Aleksej
Aleksej создал тему: Парсим курс валют ЦБ без регулярок
Код скрипта, демка которого - в статье
Падение российсого рубля - на Google Chart
. 

Code:
<html>
<head>
<?
$curDate = date('d/m/Y', mktime(0,0,0,date("n"),date("j")+1,date("Y")));
$curDate2 = date('d/m/Y', mktime(0,0,0,date("n"),date("j")-7,date("Y")));
$currencyXML = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01235');
$currencyXML1 = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01239');
?>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'USD', 'EUR'],
<?
for($i = 0; $i < sizeof($currencyXML->Record); $i++){
echo "['{$currencyXML->Record[$i]['Date']}', " . str_replace(',', '.', $currencyXML->Record[$i]->Value) . ' , ' . str_replace(',', '.', $currencyXML1->Record[$i]->Value) . ' ],';
}
?>
]);
var options = {
title: 'Exchange rates',
hAxis: {title: '', titleTextStyle: {color: '#333'}},
vAxis: {minValue: 60}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: auto; height: 200px;"></div>
</body>
</html>
Последнее редактирование: 10 года 3 нед. назад пользователем p.rishard.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

- Aleksej
-
Автор темы
- Не в сети
- Модератор
-
8 года 4 мес. назад - 8 года 3 мес. назад #2
от Aleksej
Aleksej ответил в теме Парсим курс валют ЦБ без регулярок
Новые ревизии от разработчиков Google Chart - время ведь идет - позволяют нам с вами переписать код вот таким примерно образом:
Code:
<html>
<head>
<?
$curDate = date('d/m/Y', mktime(0,0,0,date("n"),date("j")+1,date("Y")));
$curDate2 = date('d/m/Y', mktime(0,0,0,date("n"),date("j")-7,date("Y")));
$currencyXML = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01235');
$currencyXML1 = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.$curDate2.'&date_req2='.$curDate.'&VAL_NM_RQ=R01239');
?>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'USD', 'EUR'],
<?
for($i = 0; $i < sizeof($currencyXML->Record); $i++){
echo "['{$currencyXML->Record[$i]['Date']}', " . str_replace(',', '.', $currencyXML->Record[$i]->Value) . ' , ' . str_replace(',', '.', $currencyXML1->Record[$i]->Value) . ' ],';
}
?>
]);
var options = {
title: 'Exchange rates',
hAxis: {title: '', titleTextStyle: {color: '#333'}},
vAxis: {minValue: 75}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: auto; height: 200px;"></div>
</body>
</html>
Последнее редактирование: 8 года 3 мес. назад пользователем p.rishard.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.