Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод курса валют (https://javascript.ru/forum/misc/72548-vyvod-kursa-valyut.html)

spinastr 21.02.2018 19:23

laimas,

В js есть id и class. Я беру в панель добавляют блок с актуальным курсом доллара. А на другой странице уже все показатели.

Там что я выше прислал просто демо страница.

Ещё у моего сайта есть мобильная версия и я там вывел блок с курсом доллара.

laimas 21.02.2018 19:36

Я не буду разбираться с вашими версиями и догадываться что у вас и где. Чтобы вывести кому-то в атрибут дату, нужно знать что это такое и как обратиться к нему.

Вы показали таблицу, в эту таблицу и выводится. А демо это или нет, уже сами разбирайтесь. Если помимо этой таблицы нужно еще куда-то вывести курсы, не проблема, механизм этого я описал.

А если куда-то дату, значит нужно показывать код этого элемента и пояснять.

Ну пора бы уже понять, что тут не экстрасенсы, а обычные люди.

spinastr 21.02.2018 21:09

Цитата:

Сообщение от laimas
что тут не экстрасенсы, а обычные люди.

Вот примерно как у меня:


spinastr 22.02.2018 00:44

laimas,

Всё добавил и после обновления, появилось.

{"previous":null,"current":{"date":"22.2.2018"}}


До обновления планироващика была ошибка
https://pp.userapi.com/c840126/v8401...9BTiuUpEsY.jpg


Восстановил всё как было

laimas 22.02.2018 04:20

Цитата:

Сообщение от spinastr
Вот примерно как у меня

В плане как выглядит, да хоть в горошек. К картинке код не приклеить.

spinastr 22.02.2018 14:21

laimas,

так код не работает

laimas 22.02.2018 14:43

Цитата:

Сообщение от spinastr
так код не работает

Какой? Все что я написал последний раз все рабочее. А вот что вы делаете, что не работает, этого я не знаю.

spinastr 22.02.2018 15:34

laimas,

Когда планировщик обновился

{"previous":null,"current":{"date":"22.2.2018"}}

laimas 22.02.2018 15:41

spinastr,
читать надо внимательно то, что пишут - структура файла current.json другая должна быть, и написано же было какая, чем ее заменить. А то, что вы приводите, это старое.

spinastr 22.02.2018 15:49

laimas,

Заменил на это!

{"current":{"date":"22.2.2018","USD":{"value":56.6 537,"rate":2},"EUR":{"value":69.8087,"rate":1}},"p revious":{"date":"21.2.2018","USD":{"value":56.520 1,"rate":2},"EUR":{"value":69.8928,"rate":1}}}


Планировщик сработал, стало это

{"previous":null,"current":{"date":"22.2.2018"}}

laimas 22.02.2018 15:52

Значит php код не изменен. Читайте выше, там все было написано.

spinastr 22.02.2018 16:19

laimas,

Вы наверно не обратили внимание.

https://pp.userapi.com/c840126/v8401...9BTiuUpEsY.jpg

Я вставляю код и высвечивается ошибка!

laimas 22.02.2018 16:29

Где эта ошибка?

spinastr 22.02.2018 16:31

laimas,

в редакторе на хосте, когда вставляю этот текст

laimas 22.02.2018 16:37

Цитата:

Сообщение от spinastr
в редакторе на хосте, когда вставляю этот текст

Вы что строку json вставляете в код current.php?

Читайте внимательно что нужно сделать!

spinastr 22.02.2018 16:42

laimas,

Всё пусто

laimas 22.02.2018 16:45

Слов нет.

Покажите содержание файла current.php.

spinastr 22.02.2018 16:47

laimas,

Вот

https://pp.userapi.com/c841334/v8413...Sf46M204yM.jpg

тут данные обновились

{"date":"23.2.2018","rate":{"USD":{"value":56.7608,"dyn":2},"EUR":{"value":69.6341,"dyn":1}}}

laimas 22.02.2018 16:54

Цитата:

Сообщение от spinastr
Вот

А по ссылке я на какой код сказал заменить?

Вы что уже не можете сделать простого - убрать то что было в файле, вставить то, сказано и сохранить?

Читать еще раз по ссылке.

spinastr 22.02.2018 16:58

laimas,

Всё сделал, данные в json меняются. Не выводистя в HTML

Nexus 22.02.2018 17:03

А обязательно выводить данные после запроса с клиента?
Почему не вывести данные сразу сервером?

Может и было написано ранее, но 400+ сообщений я не осилю.

laimas 22.02.2018 17:03

spinastr,
не испытывайте моего терпения, я могу и заматериться. Мне что тыкать вас носом по каждому поводу?

Код JS изменен тоже, обращение к элементам также, и по классам. Кто это будет читать и делать?

Я не гадалка, по картинкам не навожу/снимаю порчу, и что там у вас не работает не видя тоже сказать не могу. Я только уверен, что ваш test.html это хрен знает что старое.

spinastr 22.02.2018 17:06

Nexus,
сайт ан юкозе и я неподключал PHP, он там дорогой, сделал PHP настороннем хостинге.

spinastr 22.02.2018 17:07

Цитата:

Сообщение от laimas
не испытывайте моего терпения, я могу и заматериться.

Не нужно,

вот вы написали код я его скопировал и вставил в тест

<table>
    <tr>
        <td><span class="previous date"></span></td>
        <td><span class="current date"></span></td>
    </tr>
    <tr>
        <td><span class="previous USD"></span></td>
        <td><span class="current USD"></span></td>
    </tr>
    <tr>
        <td><span class="previous EUR"></span></td>
        <td><span class="current EUR"></span></td>
    </tr>
</table>

<script>
//именно такое и получит Ajax
$.getJSON("http://h116641.s08.test-hf.su/", function(data) {
    $.each(data, function(k, o) {
        $.each(o, function(a, r) {
            $('.'+k+'.'+a).html(
                a=='date' ? r : {'USD':'$','EUR':'€'}[a] + ' ' + r.value.toFixed(2) + ' <b class=' + ['','down','up'][r.rate] +'>' + ['','▼','▲'][r.rate] +'</b>'
            )
        })
    }) 
});
</script>

laimas 22.02.2018 17:09

Цитата:

Сообщение от spinastr
вот вы написали код я его скопировал и вставил в тест

Все верно, и что дальше?

spinastr 22.02.2018 17:12

laimas,

тут пусто

laimas 22.02.2018 17:18

Последний раз показываю. Тут и вывод подсказок о дате, а как оно работает, это сами вникайте, пора бы начинать изучать то, чем занимаетесь, а не просто слепо копировать, да еще с ошибками. И вообще как все это работает понять.

Естественно, тут нет реального запроса сервера (две строки кода закомментированы), выводится объект data, который и сервер возвращает.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

<style>
.up {color: #0f0;}
.down {color: #f00;}
</style> 
 
<table>
    <tr>
        <td><span class="previous date"></span></td>
        <td><span class="current date"></span></td>
    </tr>
    <tr>
        <td><span class="previous USD title"></span></td>
        <td><span class="current USD title"></span></td>
    </tr>
    <tr>
        <td><span class="previous EUR"></span></td>
        <td><span class="current EUR"></span></td>
    </tr>
</table>

<p style="font-size: 2em;" class="previous USD title"></p>

<p style="font-size: 1.5em;" class="current EUR"></p>

<p style="font-size: 2em;" class="current USD title"></p>
 
<script>
var data = {
    "current": {
        "date": "23.2.2018",
        "USD": {
            "value": 56.7608,
            "rate": 2
        },
        "EUR": {
            "value": 69.6341,
            "rate": 1
        }
    },
    "previous": {
        "date": "22.2.2018",
        "USD": {
            "value": 56.6537,
            "rate": 2
        },
        "EUR": {
            "value": 69.8087,
            "rate": 1
        }
    }
};

//$.getJSON("http://h116641.s08.test-hf.su/", function(data) {
    $.each(data, function(k, o) {
        $.each(o, function(a, r) {
            $('.'+k+'.'+a).html(
                a=='date' ? r : {'USD':'$','EUR':'€'}[a] + ' ' + r.value.toFixed(2) + ' <b class=' + ['','down','up'][r.rate] +'>' + ['','▼','▲'][r.rate] +'</b>'
            ).attr('title', function() {
                return $(this).hasClass('title') ? data[k].date : ''
            })
        })
    })
//});
</script>

Nexus 22.02.2018 17:23

laimas, у вас в коде данные отличаются от данных, которые возвращает сервер тс.
Не сами данные имею ввиду, разумеется, а структуру.

spinastr 22.02.2018 17:24

laimas,

СПАСИБО!

Такое уже было, если удалить это:

var data = {
    "current": {
        "date": "23.2.2018",
        "USD": {
            "value": 56.7608,
            "rate": 2
        },
        "EUR": {
            "value": 69.6341,
            "rate": 1
        }
    },
    "previous": {
        "date": "22.2.2018",
        "USD": {
            "value": 56.6537,
            "rate": 2
        },
        "EUR": {
            "value": 69.8087,
            "rate": 1
        }
    }
};


То пусто, снова загадки, просто трудно сказать что написать?

Я этим не занимаюсь, и не помню что днелать подскажите?

laimas 22.02.2018 17:25

Цитата:

Сообщение от Nexus
у вас в коде данные отличаются от данных, которые возвращает сервер тс

Ему сказано было о новой структуре json файла. Это ему разбираться со своими ошибками, а не мне, у меня уже язык устал.

laimas 22.02.2018 17:32

spinastr,
еще раз - я не гадалка, не гадаю.

spinastr 22.02.2018 17:32

Nexus,

Помоги, пожалуйста, там json другой не получается вывести

<table>
    <tr>
        <td><span class="previous date"></span></td>
        <td><span class="current date"></span></td>
    </tr>
    <tr>
        <td><span class="previous USD title"></span></td>
        <td><span class="current USD title"></span></td>
    </tr>
    <tr>
        <td><span class="previous EUR"></span></td>
        <td><span class="current EUR"></span></td>
    </tr>
</table>

<p style="font-size: 2em;" class="previous USD title"></p>

<p style="font-size: 1.5em;" class="current EUR"></p>

<p style="font-size: 2em;" class="current USD title"></p>
 
<script>


$.getJSON("http://h116641.s08.test-hf.su/", function(data) {

$('.previous date').html(data.date);
$('.current date').html(data.previous.date);

    $.each(data, function(k, o) {
        $.each(o, function(a, r) {
            $('.'+k+'.'+a).html(
                a=='date' ? r : {'USD':'$','EUR':'€'}[a] + ' ' + r.value.toFixed(2) + ' <b class=' + ['','down','up'][r.rate] +'>' + ['','▼','▲'][r.rate] +'</b>'
            ).attr('title', function() {
                return $(this).hasClass('title') ? data[k].date : ''
            })
        })
    })
//});
</script>

Nexus 22.02.2018 17:34

spinastr, у меня сейчас недостаточно для этого времени.

spinastr 22.02.2018 17:36

Nexus,

там легко, вроде я не знаю. там структура json друга.
До этого выводилось.

spinastr 22.02.2018 17:36

Подскажите?

Или я уже на грани

spinastr 22.02.2018 17:41

Почему раньше было

{"current":{"date":"15.2.2018","value":57.59,"rate":1},"previous":{"date":"14.2.2018","value":57.77,"rate":1}}


теперь

{"date":"23.2.2018","rate":{"USD":{"value":56.7608,"dyn":2},"EUR":{"value":69.6341,"dyn":1}}}


Нету вот этого?
{"current":
Как выводить то?

laimas 22.02.2018 17:52

Покажите, что у вас в current.json

spinastr 22.02.2018 17:56

laimas,

вот

laimas 22.02.2018 18:11

Значит опять накосячено с кодом, разбирайтесь, что вы не так делаете.

spinastr 22.02.2018 18:22

Цитата:

Сообщение от laimas
Значит опять накосячено с кодом, разбирайтесь, что вы не так делаете.

Там все нормально:

https://pp.userapi.com/c831408/v8314...-tY-cggAbs.jpg


Часовой пояс GMT +3, время: 21:58.