В документации диаграмм используется следующий пример:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Toppings');
data.addColumn('number', 'Slices');
data.addRows([
['Cheese', 3],
['Onions', 1],
['Olives', 1],
['Zucchini', 1],
['Pepperoni', 2]
]);
Я строю свою диаграмму Google следующим образом:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Standing');
data.addColumn('number', 'Students');
data.addRows([
[<?= $users[0]->COLLEGE; ?>, <?= $users[0]->HEADCOUNT; ?>],
]);
Но график не печатается. Как я могу использовать содержимое массива PHP для заполнения диаграммы?
Ваш код не добавляет кавычки к результирующим значениям JavaScript (и вы не избегаете их). PHP json_encode имеет возможность создавать допустимые значения JavaScript из строк PHP и обрабатывать все кавычки и ускользать для вас, поэтому просто используйте это:
var data = new google.visualization.DataTable();
data.addColumn('string', 'Standing');
data.addColumn('number', 'Students');
data.addRows([
[<?= json_encode($users[0]->COLLEGE); ?>, <?= json_encode($users[0]->HEADCOUNT, JSON_NUMERIC_CHECK); ?>],
]);
Это должно также предотвратить целую кучу XSS и других неприятных атак с инъекциями кода и справиться с экранированием.