Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Данные для построения графиков. (https://javascript.ru/forum/misc/66943-dannye-dlya-postroeniya-grafikov.html)

ureech 19.01.2017 11:08

Данные для построения графиков.
 
Всем привет. Хочу вывести графики. Решил использовать highcharts.js. Подключил пример, работает. Только теперь не могу въехать как мне данные передать. Пример здесь http://codepen.io/Ureech/pen/VPPBjp?editors=1010
Сами данные раз в неделю заносятся юзером в инпут, передаются аяксом на сервер, обрабатываются, заносятся в базу и выводятся в таблицу. А вот как их в эту data:[] передать?

ureech 19.01.2017 16:11

Дошёл до следующего.
Из php в html передаю переменую, полученную из массива
$list = Array ( [0] => 145.00 [1] => 115.00 [2] => 140.00 [3] => 0.00 [4] => 0.00 [5] => 0.00 [6] => 0.00 [7] => 0.00 [8] => 0.00 [9] => 0.00 )
$list = implode(',',$list);

Теперь в переменной у меня строка. Подставляю в
var dat = '{$list}';
....
     series: [{
        name: 'Dev #1',
     data: [datа]
...

Не работает. Смотрю в консоли, в data только имя,значения нет.

laimas 19.01.2017 16:18

var dat = '{$list}'; - и нахрена тут вообще кавычки при том одинарные, в которых РНР не обрабатывает наличие своих переменных, да и к тому же к этой строке РНР не имеет отношения?

а тут

data: [datа]

ureech 19.01.2017 16:38

var dat = '{$list}'; Не суть. Главное здесь строка. (это смарти)
Цитата:

Сообщение от laimas
data: [datа]

Это опечатка. Так data: [dat]

laimas 19.01.2017 16:46

Если смарти и опечатка, то в коде страницы должно быть data: [145.00,115.00,140.00,...], кстати можно и без var dat, а сразу вставить сюда data: [{$list}], без кавычек конечно.

Проверяйте что отдает интерпретатор в шаблон.

ureech 19.01.2017 16:51

В том то и дело, что в коде страницы не значение, а имя переменой.
console.log(dat)
Строка
145.00,115.00,140.00,0.00,0.00,0.00,0.00,0.00,0.00 ,0.00
console.log(dat.split(','))
Array [ "145.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00" ]
Прописываю в data: саму строку всё работает, подставляю переменую,нет

ureech 19.01.2017 16:53

Вот в доках тоже самое вроде
http://www.highcharts.com/docs/worki...rom-a-database

laimas 19.01.2017 17:06

Попробуйте так:

$list = json_encode($list);

и

data: {$list}

Dilettante_Pro 19.01.2017 17:09

var dat = "145.00,115.00,140.00,0.00,0.00,0.00,0.00,0.00,0.00 ,0.00 ";
var obj = { };
obj.data = dat.split(",");
alert(obj.data[1]);

ureech 19.01.2017 17:26

Я не понимаю, что мне с этим делать? Это похоже тоже что и
data:dat.split(',')
console.log(obj.data)
Array [ "145.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00", "0.00" ]


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