Мне стал интересен ещё один вопрос.
На самом сайте ЦБ РФ Смотрел на других сайтах и информеров, на завтра курса нет, получается только у ЦБ? Можно также вывести такой курс со стрелкой на завтра или это уже закрытая информация? |
Что значит на завтра?
|
Цитата:
|
laimas,
Центробанк по итогам сегодняшних торгов назначает официальный курс на завтра.
Курсы валют
14.02.2018 15.02.2018
Доллар США $ руб. 57,7701 руб. ↓57,5899
Евро € руб. 71,1670 руб. ↑71,2329
У них все официальные курсы по датам. |
Цитата:
Если смысл "на завтра" означает, что и вам хочется сразу видеть курс измененный, а не просто как курс не на день текущий, то планировщик должен запрашивать курс не один раз в день, а раз в час, пол часа, четверть... бог его знает как вам горит. А запись курса на сервере должна производится по итогам сравнения дат пришедшего курса и сохраненного ранее.
<?
$day = date('w');
if($day && $day<>1) {
$dir = dirname(__FILE__);
chdir($dir);
$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;
chmod($dir, 0777);
file_put_contents('current.json',json_encode($currency));
chmod($dir, 0700);
}
}
}
}
?>
PS. Можно даже убрать условие if($day && $day<>1) и запрашивать курс каждый день, все равно при равенстве дат пришедшего и сохраненного он не изменится на сервере. |
laimas,
Понятно, просто скопировать и вставить? А в js менять ничего не нужно? |
spinastr,
Вроде всё работает Верно скрипт дописал?
<script>
//именно такое и получит Ajax
$.getJSON("доме.ру", 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>
|
Странно на одной странице сайта, после скролинга начинает мигать мышка при наведении и показе даты
.attr("title", o.date)
На этой странице установлено два курса в div блоке. Как бы отдельная страница с полным курсом. |
laimas,
Если я попробую в ваш скрипт вставить Яндекс погоду? https://pogoda.yandex.ru/static/cities.xml То смогу тоже вывести погоду так? Как и валюту? |
Цитата:
|
| Часовой пояс GMT +3, время: 01:44. |