呈现Highcharts的问题-通过PHP/MySQL填充
我希望有人能在这里帮助我,我一直在寻找highcharts作为从我的sql db中绘制动态数据的一种方式……到目前为止,我得出的结果如下,奇怪的是,它似乎是正确的,数据是正确的,但是,我无法绘制我的图表,现在我尝试通过Chrome和IE查看图表,但没有结果,有人能看到我哪里出错了,或者哪里出错了…我的数据正在传递到JS数组中,所以呈现端出现了问题。。。任何帮助都将不胜感激。我已经关闭了我的html标签,但由于某些原因,它没有显示在这篇文章中…如果有人有任何建议,我会很高兴听到他们呈现Highcharts的问题-通过PHP/MySQL填充,php,javascript,mysql,html,highcharts,Php,Javascript,Mysql,Html,Highcharts,我希望有人能在这里帮助我,我一直在寻找highcharts作为从我的sql db中绘制动态数据的一种方式……到目前为止,我得出的结果如下,奇怪的是,它似乎是正确的,数据是正确的,但是,我无法绘制我的图表,现在我尝试通过Chrome和IE查看图表,但没有结果,有人能看到我哪里出错了,或者哪里出错了…我的数据正在传递到JS数组中,所以呈现端出现了问题。。。任何帮助都将不胜感激。我已经关闭了我的html标签,但由于某些原因,它没有显示在这篇文章中…如果有人有任何建议,我会很高兴听到他们 <htm
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src='highcharts.js' type='text/javascript'> </script>
<script src='exporting.js' type='text/javascript'> </script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script>
</head>
<body>
<?php
include "connect_db.php";
$SQL1 = "SELECT review.reviewForum AS reviewForum,
COUNT(CASE WHEN mom.result = 'Approved' THEN 'yes' ELSE NULL END) AS Approved,
COUNT(CASE WHEN mom.result = 'NOT Approved' THEN 'yes' ELSE NULL END) AS Not_Approved,
COUNT(CASE WHEN mom.result = 'Cancelled' THEN 'yes' ELSE NULL END) AS Cancelled
FROM review INNER JOIN mom ON mom.reviewId = review.reviewId GROUP BY review.reviewForum";
$result1 = mysql_query($SQL1);
$data1 = array();
while ($row = mysql_fetch_array($result1)) {
$data1[] = $row['reviewForum'];
}
$result2 = mysql_query($SQL1);
$data2 = array();
while ($row = mysql_fetch_array($result2)) {
$data2[] = $row['Approved'];
}
$result3 = mysql_query($SQL1);
$data3 = array();
while ($row = mysql_fetch_array($result3)) {
$data3[] = $row['Not_Approved'];
}
$result4= mysql_query($SQL1);
$data4 = array();
while ($row = mysql_fetch_array($result4)) {
$data4[] = $row['Cancelled'];
}
?>
<script type="text/javascript">
$(document).ready(function() {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'column'
},
title: {
text: 'TC REVIEW RESULT STATS'
},
xAxis: {
categories: [<?php echo join($data1, ',') ?>],
},
yAxis: {
min:0
},
legend: {
layout: 'vertical',
backgroundColor: '#FFFFFF',
align: 'left',
verticalAlign: 'top',
x: 50,
y: 35,
floating: true,
shadow: true
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [ {
name: 'Approved',
data: [<?php echo join($data2, ',') ?>],
pointStart: 0
//pointInterval
},
{
name: 'Unapproved',
data: [<?php echo join($data3, ',') ?>],
pointStart: 0
//pointInterval
},
{
name: 'Cancelled',
data: [<?php echo join($data4, ',') ?>],
pointStart: 0
//pointInterval
},
]
});
});
</script>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
</body>
我建议您开始尝试在不生成代码的情况下渲染一个。如果这不起作用,您可能希望在JSFIDLE上共享它,我们可以看看:-)。如果它确实有效,您应该将其与生成的代码进行比较
{
name: 'Cancelled',
data: [<?php echo join($data4, ',') ?>],
pointStart: 0
//pointInterval
}, // This comma is a syntax error
]
{
姓名:'已取消',
数据:[],
起点:0
//点间隔
},//此逗号是语法错误
]
你看到那个逗号了吗?不能在“}”前面加逗号,因为它在多个地方都有。在xAxis下的categories语句后面去掉逗号
xAxis: {
categories: [<?php echo join($data1, ',') ?>],
},
xAxis:{
类别:[],
},
应该是
xAxis: {
categories: [<?php echo join($data1, ',') ?>]
},
xAxis:{
类别:[]
},
我认为真正的原因在于:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script>
<script src='highcharts.js' type='text/javascript'> </script>
<script src='exporting.js' type='text/javascript'> </script>
首先加载jQuery,然后加载Highcharts。老实说,EricG,我希望有人能用新的眼光看看我的代码,因为我在过去两天一直在睁大眼睛。。。我只是想知道我的布局是否合适等等…在php文件中包含js是否合适?等等取消后的一个,数据还是大括号?抱歉,我知道为什么,我删除了它,但当我上传并重新运行它时,仍然没有渲染。我已经运行了Google Chrome->Developer Tools,它告诉我在@xAxis:{categories:[由于某些原因,我无法对代码进行注释..为混乱的replyNo问题道歉。您仍然有太多的逗号。请在“}之前删除所有逗号'您的html标记可能丢失,因为您可能需要在该行之后添加一个enter(以使其成为代码的一部分)。逗号不是问题,这里是在对象数组之后使用逗号…我也这样做了,但没有任何区别。.谢谢您思想尝试:类别:['谢谢..这有助于解决问题,我删除了pointStart:0和pointInterval,非常感谢