amchart 从 mysql 获取 json 数据

amchart getting json data from mysql

我尝试用amcharts制作图表。但目前我没有成功。这就是我生成 json 文件的方式:

while ( $row = mysql_fetch_assoc( $result ) ) {
echo $prefix . " {\n";
echo '  "category": "' . $row['tstamp'] . '",' . "\n";

echo '  "value": ' . $row['temp'] . '' . "\n";
echo " }";
$prefix = ",\n";
}
echo "\n]";

html源代码可以在这里查看: http://bitfreun.de/werte.php

在 Chrome 控制台中我得到一个错误:

由于您在输出中得到像“30.500”这样的数字,我只能假设您的值存储在 MySQL 中的 VARCHAR 类型列中。因此,它们碰巧在末尾包含额外的符号,这可能是由于未能正确清理您的数据输入造成的。

除了您应该切换到使用 FLOAT 类型列的明显解决方案之外,您现在可以采取一些措施来解决此问题。只需将您的 return 数字转换为 float:

while ( $row = mysql_fetch_assoc( $result ) ) {
  echo $prefix . " {\n";
  echo '  "category": "' . $row['tstamp'] . '",' . "\n";
  echo '  "value": ' . ( (float) $row['temp'] ) . "\n";
  echo " }";
  $prefix = ",\n";
}
echo "\n]";

让 PHP 构建您的 JSON 也是一个好主意:

$data = array();
while ( $row = mysql_fetch_assoc( $result ) ) {
  $data[] = array(
    'category' => $row['tstamp'],
    'value' => (float) $row['temp']
  );
}
echo json_encode( $data );