【问题标题】:Pushing json encoded php into chart.js将 json 编码的 php 推送到 chart.js
【发布时间】:2017-07-14 01:00:40
【问题描述】:

我正在尝试将我的数据库选择中的 json 编码推送到 chart.js 数据集中,但我不确定如何在不过度设计的情况下进行。

以下是从回顾表中简单选择的分数:

if($teamData == 0){
  $allTeams = 'All';
} else{
$sql = "SELECT * FROM compScore WHERE memberId = 1";
$result = $conn->query($sql);


  if ($result->num_rows > 0) {
      while($row = $result->fetch_assoc()) {
          $jsonScores = json_encode($row, JSON_PRETTY_PRINT);
    }
  }
}
header('Content-type: application/json');
echo $jsonScores;

这个输出是:

{ "id": "1", "score1": "2", "score2": "3", "score3": "5", "score4": "4", "score5": "3", "score6": "2", "score7": "1", "score8": "3", "memberId": "1" }

我有一个问题,它只获取 1 条记录,我还想排除字段 memberId

更何况我如何将结果推送到:

  datasets : [
    {
      fillColor: "rgba(102,45,145,.1)",
      strokeColor: "rgba(102,45,145,1)",
      pointColor : "rgba(220,220,220,1)",
      pointStrokeColor : "#fff",

      data : [] // HERE IS WHERE THE DATA NEEDS TO GO
    }

【问题讨论】:

标签: php json mysqli


【解决方案1】:

我认为你应该看看 chart.js 所期望的 json 布局。 https://developers.google.com/chart/interactive/docs/reference#dataparam 它需要第一级的列和行,其中每一列都由一个 id、一个标签和一个类型来描述。 尽管预期的格式有点乏味,但谷歌文档非常好。

这里是一个用于填充图表的 PHP 示例。

https://developers.google.com/chart/interactive/docs/php_example

【讨论】:

  • 显然这个文档是参考谷歌图表,但我可以很容易地把它翻译成chart.js?该示例看起来非常相似。
  • Chart.js 需要一个非常相似的结构,这是它失败的唯一方法,所以注意 json 格式,你应该没问题。
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2012-11-09
  • 2020-01-01
  • 2018-03-06
  • 1970-01-01
  • 2015-03-02
  • 2017-03-07
相关资源
最近更新 更多