11.01.2015, 13:05
|
Новичок на форуме
|
|
Регистрация: 11.01.2015
Сообщений: 5
|
|
Как передать массив данных из РНР в JS
Поставил график гугл чарт на сайт. Хочу массив значений из РНР передать в JS скрипт
$data = mysqli_fetch_assoc(); // $data[date, value]
while ($data <= 10):
{ делать перебор }
А эти данные вставить в JS код
data.addRows([
[0, 0], [1, 10], [2, 23],
[3, 17], [4, 18], [5, 9],
]);
Помогите пожалуйста, как это сделать?
|
|
11.01.2015, 14:07
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
|
|
12.01.2015, 21:30
|
Новичок на форуме
|
|
Регистрация: 11.01.2015
Сообщений: 5
|
|
Я новичок в этом деле, а по ссылке много всего сложного. Могли бы вы показать мне пример как это делается, плиз. Т.е. как работает json, как его подставить в строку addrows
|
|
12.01.2015, 23:14
|
|
Профессор
|
|
Регистрация: 02.08.2012
Сообщений: 293
|
|
как-то так можно:
var array = eval(<? echo json_encode($data; ?>);
console.log(array);
|
|
13.01.2015, 08:05
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
deivan, eval лучше не юзать где он не необходим.
var arr = JSON.parse(<?=json_encode($data)?>);
console.log(arr);
|
|
13.01.2015, 19:39
|
Новичок на форуме
|
|
Регистрация: 11.01.2015
Сообщений: 5
|
|
Каким образом console.log(arr); подставить в массив данных?
data.addRows([
[0, 0], [1, 10], [2, 23],
[3, 17], [4, 18], [5, 9],
]);
Т.е. вместо [0, 0] вставлять console.log(arr)
|
|
13.01.2015, 20:45
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
data.addRows(JSON.parse(<?=json_encode($data)?>));
|
|
16.01.2015, 20:05
|
Новичок на форуме
|
|
Регистрация: 11.01.2015
Сообщений: 5
|
|
вставил данные как вы написали. addRows возвращает только одну строку данных [0, 0]. Мне нужно несколько значений [0, 0], [1, 10], [2, 23]. Подскажите как это сделать.
|
|
18.01.2015, 12:14
|
|
Профессор
|
|
Регистрация: 30.04.2012
Сообщений: 3,018
|
|
ruslanaxti, значит у тебя на сервере записывается только один элемент.
while($result = mysqli_fetch_assoc()) {
$data[] = $result;
}
|
|
18.01.2015, 15:52
|
Новичок на форуме
|
|
Регистрация: 11.01.2015
Сообщений: 5
|
|
В $data у меня выводится массив данных. Не получается этот массив написанный на РНР через while вставить в JS код.
function drawChart() {
var data = new google.visualization.DataTable();
data.addColumn('number', 'X');
data.addColumn('number', 'Dogs');
<?php
while($result = mysqli_fetch_assoc()) {
<scripts>data.addRows(JSON.parse(<?=json_encode($result )?>));</scripts>
}
?>
Это правильно написано?
Т.е в итоге нужен такой вариант
data.addRows([
[0, 0], [1, 10], [2, 23],
[3, 17], [4, 18], [5, 9],
]);
|
|
|
|