|
По структуре да, по запросу нет, я же писал здесь о запросе.
|
laimas,
Банк терзать там написано не нужно. То есть планировщик обновляет каждые 15 минут информацию так и оставить? |
В адресе запроса получение даты изменить, как по ссылке указано, что непонятного?
|
Цитата:
{"current":{"date":"15.2.2018","value":57.59,"rate":1},"previous":{"date":"14.2.2018","value":57.77,"rate":1}} |
Это не запрос, это результат запроса - JSON.
А запрос, это строка кода запроса с url сервера ЦБ, с передачей даты как параметра этого запроса, и русским же языком там написано для этого строка запроса должны быть такой: и ниже код строки этого запроса. Ну что может еще непонятного? |
laimas,
это? <script> //именно такое и получит Ajax $.getJSON("http://h116641.s08.test-hf.su/", function(data) { $('.usddata').html(data.current.date); $('.usddata2').html(data.previous.date); //и вот тут данные этого объекта помещаются на свои места $.each(data, function(k, o) { $('.'+k).html("$ " + o.value + ' <b class=' + ['','down','up'][o.rate] +'>' + ['','▼','▲'][o.rate] +'</b>').attr("title", o.date) }) }); </script> или <? $currency = json_decode(file_get_contents('current.json')); libxml_use_internal_errors(); if($xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_daily.asp?date_req='.date('d/m/Y'))) { $date = strtotime($xml->attributes()->Date); if($date > strtotime($currency->current->date)) { foreach ($xml->children() as $child) { if($child->NumCode==840) { $usd = round((float)str_replace(',', '.', $child->Value), 2); break; } } if($usd) { if($rate = $usd - $currency->current->value) $rate = $rate < 0 ? 1 : 2; $currency->previous = clone $currency->current; $currency->current->date = date('j.n.Y', $date); $currency->current->value = $usd; $currency->current->rate = $rate; $dir = dirname(__FILE__); chdir($dir); chmod($dir, 0777); file_put_contents('current.json',json_encode($currency)); chmod($dir, 0700); } } } ?> |
Цитата:
Цитата:
Ну это уже ни в какие ворота. Что из показанного запрашивает курс у ЦБ? Неужели не видно, что по ссылке это 5-я строка кода файла current.php? В строке 5 дата запроса должна получаться не как date('d/m/Y'), а как date('d/m/Y', strtotime('+1 day')) И чтобы все это было заменено корректно, по ссылке приведена строка полностью, которой и нужно заменить строку 5. Офигеть. |
laimas,
это if($xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_daily.asp?date_req='.date('d/m/Y'))) { заменил на это if($xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_daily.asp?date_req='.date('d/m/Y', strtotime('+1 day')))) { Верно? |
Да. Курс для следующего дня надо запрашивать, иначе никакого обновления и не получить, только на следующий день можно будет.
|
Часовой пояс GMT +3, время: 03:57. |