|
По структуре да, по запросу нет, я же писал здесь о запросе.
|
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, время: 17:05. |