我正在尝试使用php(mySQL)读取数据库中的值,然后将它们显示在flot中的图形上。我知道这些值是正确读取的,我没有收到任何错误,但图表不会显示。 帮助不大?
提前致谢。
<?php
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
$graphdata[] = array( (int)$row[0], (int)$row[1] );
}
?>
/////
<div id="placeholder" style="width:600px;height:300px"></div>
<script language="javascript" type="text/javascript">
var dataset1 = <?php echo json_encode($graphdata);?>;
var data = [
{
label: "Random Values",
data: dataset1
}
];
var plotarea = $("#placeholder");
$.plot( plotarea , data);
</script>
答案 0 :(得分:1)
您的pastebin内容显示您输出的JSON字符串是无效的JSON。
var data = [{ label: "Random Values",data: dataset1}];
将验证它是否已更改为:
var data = [{"label": "Random Values","data": "dataset1"}]
这只是一个例子,但我怀疑Flot正在寻找一种稍微不同的格式,所以你必须根据他们的文档确切地确定他们正在寻找什么。我现在正在使用FusionCharts进行同样的练习,所以我感觉到你的痛苦。 jsonlint.com是您的朋友,输出您的JSON并经常验证它。我还建议最初让它工作,从你在代码中放置的一串JSON(甚至是你从他们的例子中复制的那个)开始。首先使图表工作,然后让PHP分别复制示例JSON字符串。
答案 1 :(得分:0)
尝试延迟创建图表,直到加载DOM:
jQuery(document).ready(function ($){
var plotarea = $("#placeholder");
$.plot( plotarea , data);
});