@xonar
А смысл?

Как вставить php переменную в JS?

Здравствуйте.
Создал график line-chart, но возникла проблема.
График выводится в файле index.php вот так - <div id='line-chart' style='height: 290px'></div>
В файле подключается файл index.js, где лежит этот построенный график.
Но, мне нужно вставить переменные PHP в поля data: [[1, $a], [2, $b], [3, 7.2], [4, 8], [5, 7], [6, 6.5], [7, 6.2], [8, 6.7], [9, 7.2], [10, 7], [11, 6.8], [12, 7]]

Переменные вытягивают из базы данных обновляемые параметры. Но, так как PHP не обрабатывается в js файле, как это сделать?

var data5 = [{
data: [[1, 7], [2, 5.9], [3, 7.2], [4, 8], [5, 7], [6, 6.5], [7, 6.2], [8, 6.7], [9, 7.2], [10, 7], [11, 6.8], [12, 7]],
        label: 'Депозиты',
        points: {
            show: true,
            radius: 6
        },
        splines: {
            show: true,
            tension: 0.45,
            lineWidth: 5,
            fill: 0
        }
    }, {
        data: [[1, 5], [2, 5.4], [3, 3.6], [4, 2.4], [5, 1.3], [6, 5.9], [7, 5.2], [8, 6.7], [9, 8.9], [10, 8.4], [11, 18], [12, 8.3]],
        label: 'Выводы',
        points: {
            show: true,
            radius: 6
        },
        splines: {
            show: true,
            tension: 0.45,
            lineWidth: 5,
            fill: 0
        }
    }, {
		data: [[1, 6.6], [2, 7.4], [3, 8.6], [4, 9.4], [5, 8.3], [6, 7.9], [7, 7.2], [8, 7.7], [9, 8.9], [10, 8.4], [11, 8], [12, 8.3]],
        label: 'Выплаты',
        points: {
            show: true,
            radius: 6
        },
        splines: {
            show: true,
            tension: 0.45,
            lineWidth: 5,
            fill: 0
        }
		
	   }];

    var options5 = {
        colors: ['#a2d200', '#00000', '#cd97eb'],
        series: {
            shadowSize: 0
        },
        xaxis: {
            font: {
                color: '#3d4c5a'
            },
            position: 'bottom',
            ticks: [
                [1, 'Jan'], [2, 'Feb'], [3, 'Mar'], [4, 'Apr'], [5, 'May'], [6, 'Jun'], [7, 'Jul'], [8, 'Aug'], [9, 'Sep'], [10, 'Oct'], [11, 'Nov'], [12, 'Dec']
            ]
        },
        yaxis: {
            font: {
                color: '#3d4c5a'
            }
        },
        grid: {
            hoverable: true,
            clickable: true,
            borderWidth: 0,
            color: '#ccc'
        },
        tooltip: true,
        tooltipOpts: {
            content: '%s: %y.4',
            defaultTheme: false,
            shifts: {
                x: 0,
                y: 20
            }
        }
    };

	var plot5 = $.plot($("#line-chart"), data5, options5);
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 3
@cryogenian
Так делать нельзя. Вы все слои абстракции пробиваете. Почему нельзя эти переменные аяксом отдать, а скрипт спросит сервер об их значениях?
Ответ написан
@Kim_Soal
Ну или распечатывать данные в json в value, скажем, инпута. Потом средствами js считывать и парсить =)
Ответ написан
Комментировать
@glagolew059
frontend developer
а можно сделать по другому: js код в php файл закинуть (где у вас верстка) и там уже выводить php переменные
типо такого:

<script>
var data5 = [{
    data: [<?=coords?>],
        label: 'Депозиты',
        points: {
            show: true,
            radius: 6
        },
        splines: {
            show: true,
            tension: 0.45,
            lineWidth: 5,
            fill: 0
        }
    }
......
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы