×
Жесткие переговоры 2.0, в пику Владимиру Соловьеву. Пранк :) (17 мая 2017)

Разговор программиста и работодателя.

Идея Парсим курс валют ЦБ без регулярок

Больше
2 года 3 мес. назад - 2 года 3 мес. назад #1 от Aleksej
Aleksej создал эту тему: Парсим курс валют ЦБ без регулярок
Код скрипта, демка которого - в статье Падение российсого рубля - на Google Chart . :)


<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>
Последнее редактирование: 2 года 3 мес. назад от p.rishard.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
7 мес. 3 дн. назад - 6 мес. 4 нед. назад #2 от Aleksej
Aleksej ответил в теме Парсим курс валют ЦБ без регулярок
Новые ревизии от разработчиков Google Chart - время ведь идет - позволяют нам с вами переписать код вот таким примерно образом:

<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>
Последнее редактирование: 6 мес. 4 нед. назад от p.rishard.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.