Перейти к содержимому


Передать массив из php в javascript


Сообщений в теме: 6

#1 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 25 Февраль 2012 - 12:02

Здравствуйте.

Решился сделать график для результатов представления.

Из вычислений передаю в отображение следующие параметры:
  $smarty->assign("lines", $lines);

Прежде, закинув в lines все массивы $data
$lines[] = $data;

Далее вывожу в отображении:
	   {foreach from=$lines item=data}
{$data.nomer} - {$data.test}<br />
	   {/foreach}

Все замечательно выводится. А теперь вопрос...

Я бы хотел по значениям этих двух массивов нарисовать график, получается следующий код:

<div id="example" style="height:320px; width:400px;">
<script type="text/javascript">
$(function(){
var proverka = [[1,1], [2,3], [3,8]];
   $.jqplot("example",  [proverka]);
});
</script>

Дак вот, этот график рисуется из массива proverka. Подскажите, как можно нарисовать данные из массивов: $data.nomer и $data.test???

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Февраль 2012 - 10:33

Вам необходимо сформировать этот массив динамически, также как вы выводите текст в вашем примере выше. Только там у вас значения выводились просто текстом на экран, а тут вы их должны вывести в тело яваскрипта, используя тот же цикл foreach в отображении.

#3 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 27 Февраль 2012 - 10:58

Понял, а как переменную писать?
$data.test
Также?

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 762 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 27 Февраль 2012 - 11:50

Также как и при простом выводе текста, т.е. {$data.test}. Разницы куда именно выводить переменные, в html body, или в javascript, по сути никакой нет. И то и другое - часть веб-страницы.

#5 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 27 Февраль 2012 - 12:05

Понял, спасибо, попробую. О результатах отпишусь!

#6 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 27 Февраль 2012 - 18:43

Код:
var test = [
{foreach from=$lines item=data}
	   [1,{$data.site}]
{/foreach}
];
Результатов не дал :(

#7 dolphin

    Активный участник

  • Пользователи
  • PipPipPip
  • 341 сообщений

Отправлено 27 Февраль 2012 - 18:48

Ага, все понятно. Сам подключаемы jQuery график не принимал числа формата 1 000 000,00.

Перевел числа в формат: 1000000.00 стало нормуль показываеться! Рад до безумия!!!





Количество пользователей, читающих эту тему: 3

0 пользователей, 3 гостей, 0 анонимных