2011-04-06 63 views
0

我已经看到了关于这个问题的一些已经但是我仍然无法明确解决此雾...解析数据jsquery.flot.pie

我有这样的SQL语句来获得数据:

<script type="text/javascript"> 


<?php 

$query = "SELECT rel_id, SUM(suma) FROM $tbl_rel_balansas INNER JOIN $tbl_balansas ON $tbl_rel_balansas.rel_id = $tbl_balansas.id WHERE $tbl_rel_balansas.member_id = '$_SESSION[id]'"; 
$result = mysql_query ($query); 
while($row = mysql_fetch_array($result)){ 
    echo 'var some_data = ' . json_encode($viso); 
} 


?> 

其次是JS部分:

$(function() { 


    $.plot($("#placeholder"), [some_data], 
{ 
     series: { 
      pie: { 
       show: true 
      } 
     }, 
     legend: { 
      show: false 
     } 
}); 
}); 
</script> 

我想我可以在some_data到达数据,并用它在饼图来显示它,可惜这是不是要走的路。

任何帮助和建议都大大appriciated! :)

+0

更新您的文章与HTML页面。另外,你的函数在哪里调用。你确定它被称为? – 2011-04-07 01:24:26

+0

+1 Vasiliy说的,我会在Firefox中使用Firebug,看看some_data是否存在,如果有的话。 – rossdavidh 2011-04-07 12:58:02

+0

是的功能被调用。如果$ .plot($(“#placeholder”),[some_data]而不是某些数据具有整数值,比如说30和50,它就会打印这些值,但some_data没有任何值......也许我' m以错误的方式解析数据? – Skittl3s 2011-04-07 12:58:26

回答

0

最可能的问题是您的数字数据被解释为一个字符串。

API.txt

注意简化海军报内部 逻辑x和y的值 必须是数字(即使指定 时间序列,请参阅下面如何做 这)。这是一个常见问题 ,因为您可能从 数据库检索数据,并将它们直接序列化为JSON 而不会注意到 错误的类型。如果您遇到了神秘错误 ,请仔细检查您输入的是 而不是 字符串。

所以要么强制你的数据在PHP端的数字类型,要么在JavaScript中,也许用。 Number(some_data)

+0

Right现场!这正是错误发生的地方。非常感谢Ryley! – Skittl3s 2011-04-07 15:31:52

+0

还有一件事,因为我现在返回一组数据.Firebug显示some_data =“50”some_data =“30”...意思是它包含所有元素来自我想要的数组,但是来自js的[Number(some_data)]不会提取这些值...我需要创建一个循环来检索它吗? – Skittl3s 2011-04-07 17:27:28

+0

@ Skittl3s,请检查以下问题:http:// stackoverflow .com/questions/5101090/flot-pie-chart-with-php,基本上你应该创建一个P惠普阵列的数据,然后使用json_encode将其发送到JavaScript,然后使用$ .parseJSON:http://api.jquery.com/jQuery.parseJSON/在JavaScript端解码它 – Ryley 2011-04-07 18:12:17