无法将变量从 PHP 传递给 JS
Can't pass variable from PHP to JS
我想使用 php 代码从我的 MySQL 服务器加载数据,然后用它来绘制带有 google 图表的图表。问题是我无法在 java-脚本代码中使用从我的 mysql 查询的数据。
PHP代码:
$connection = mysql_connect('127.0.0.1','root','123456');
mysql_select_db('db_statmarket',$connection);
$result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables');
在 java 脚本代码中,我们可以看到 var data = ...
我希望他是我从数据库中查询的 table。
HTML & JS代码:
<script type="text/javascript">
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);
var options = {
title: 'Company Performance',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(data, options);
}
</script>
输出需要如下所示:
类似的东西:
<?php
$connection = mysql_connect('127.0.0.1','root','123456');
mysql_select_db('db_statmarket',$connection);
$result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables');
$json = array();
while($row = mysql_fetch_assoc($result2)) {
$json[] = $row;
}
?>
<script type="text/javascript">
var data = <?php echo json_encode($json); ?>;
// chart code here
</script>
如果您的 javascript 在 .js 文件中,您可以:
- 让你的数据变量"global"(尽管最好将它包装在一个全局对象中,以免污染全局命名空间)
- 使用 Ajax(在这种情况下,php 代码是相同的,但在单独的文件中仅返回 JSON 数据)
我想使用 php 代码从我的 MySQL 服务器加载数据,然后用它来绘制带有 google 图表的图表。问题是我无法在 java-脚本代码中使用从我的 mysql 查询的数据。
PHP代码:
$connection = mysql_connect('127.0.0.1','root','123456');
mysql_select_db('db_statmarket',$connection);
$result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables');
在 java 脚本代码中,我们可以看到 var data = ...
我希望他是我从数据库中查询的 table。
HTML & JS代码:
<script type="text/javascript">
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Year', 'Sales', 'Expenses'],
['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]
]);
var options = {
title: 'Company Performance',
curveType: 'function',
legend: { position: 'bottom' }
};
var chart = new google.visualization.LineChart(document.getElementById('curve_chart'));
chart.draw(data, options);
}
</script>
输出需要如下所示:
类似的东西:
<?php
$connection = mysql_connect('127.0.0.1','root','123456');
mysql_select_db('db_statmarket',$connection);
$result2 = mysql_query('select sum(`How much read from customer`) as Leads, Date from monitor group by Date;',$connection) or die('cannot show tables');
$json = array();
while($row = mysql_fetch_assoc($result2)) {
$json[] = $row;
}
?>
<script type="text/javascript">
var data = <?php echo json_encode($json); ?>;
// chart code here
</script>
如果您的 javascript 在 .js 文件中,您可以:
- 让你的数据变量"global"(尽管最好将它包装在一个全局对象中,以免污染全局命名空间)
- 使用 Ajax(在这种情况下,php 代码是相同的,但在单独的文件中仅返回 JSON 数据)