2012-02-25 39 views
0

我只想知道如何在这里添加数据类型?谷歌图表需要数据类型时,我使用此代码:使用PHP和MySQL的Google图表的数据类型

我从谷歌图表得到一个错误,它的数据类型需要定义...请帮助。谢谢!

while($r = mysql_fetch_assoc($query)) { 

    $google_JSON = "{cols: [";  
    $column = array_keys($r); 
    foreach($column as $key=>$value){ 
     $google_JSON_cols[]="{id: '".$key."', label: '".$value."'}"; 
    }  
    $google_JSON .= implode(",",$google_JSON_cols)."],rows: [";  

    $google_JSON_rows[] = "{c:[{v: '".$r['id']."'}, {v: ".$r['count']."}]}"; 
}  
// you may need to change the above into a function that loops through rows, with $r['id'] etc, referring to the fields you want to inject.. 
//pass it into google charts data 
echo $google_JSON.implode(",",$google_JSON_rows)."]}"; 

回答

1

我没有做过任何PHP的年龄,所以我不打算提供提供任何修补程序的代码,但在哈希的cols参考的数组元素数据类型变为即在其中创建{id:“key”,label:“value”}您需要添加'type:“number”'或'type:“string”'等。如何通过回头查看您是否是字符串的数字查询不会那么简单。您可以通过mysql模块为列提供的任何元数据来查看列类型,但大多数图表需要系列的数字类型和x轴值的字符串/数字类型。您始终可以将第一列设置为字符串或数字,其他列可以编号,但取决于您创建的图表类型。

顺便说一句,我很惊讶你不能在PHP中本地创建结构,然后转换为JSON,而不是像这样构建JSON字符串 - 你可以很容易地在Perl中使用。

+0

感谢Man,好吧..我会尝试在PHP中进行编码,即时消息在使用Perl中不是很好...实际上我不熟悉它。 – 2012-03-01 01:08:56