我尝试使用 PHP 在服务器端填充谷歌图表数据表。我正确地获得了 JSON 文件,但图表未显示在客户端应用程序中。我遇到错误- 轴 #0 的数据列不能是字符串类型 .我的代码在下面。
从数据库中获取数据后,
$colarray=array(array("id"=>"","label"=>"userid","pattern"=>"","type"=>"number"),array("id"=>"","label"=>"name","pattern"=>"","type"=>"string"));
$final=array();
for($i=0;$i<$rows;$i++)
{
$id[$i]=pg_fetch_result($res1,$i,'id');
$name[$i]=pg_fetch_result($res1,$i,'name');
$prefinal[$i]=array("c"=>array(array("v"=>$name[$i]),array("v"=>$name[$i])));
array_push($final,$prefinal[$i]);
}
$table['cols']=$colarray;
$table['rows']=$final;
echo json_encode($table);
我的输出 Json:
{
"cols":[
{"id":"","label":"userid","pattern":"","type":"number"},
{"id":"","label":"name","pattern":"","type":"string"}
],
"rows":[
{"c":[{"v":"101"},{"v":"Aircel"}]},
{"c":[{"v":"102"},{"v":"Srini"}]},
{"c":[{"v":"103"},{"v":"Tamil"}]},
{"c":[{"v":"104"},{"v":"Thiyagu"}]},
{"c":[{"v":"105"},{"v":"Vasan"}]},
{"c":[{"v":"107"},{"v":"Senthil"}]},
{"c":[{"v":"108"},{"v":"Sri"}]},
{"c":[{"v":"109"},{"v":"Docomo"}]},
{"c":[{"v":"106"},{"v":"Innodea"}]}
]
}
如何解决这个问题?
最佳答案
要扩展@sajal 的准确答案:将代码的最后一行更改为:
echo json_encode($table);
到:
echo json_encode($table, JSON_NUMERIC_CHECK);
这将告诉 json_encode 识别数字并避免将它们用引号括起来(自 PHP 5.3.3 起可用。)。
http://php.net/manual/en/json.constants.php#constant.json-numeric-check
关于json - 轴 #0 的数据列不能是谷歌图表中的字符串错误类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9195025/