を埋める私は自分のデータベースとHighcharts(バー)を使用したいが、私は私の選択を使用してJSONをもたらすためにどのように苦労しています。MYSQL - MINとMAXの年を選択し、ギャップ
は、私は三つのレベルがあります:ゴールド、シルバー、プラチナを、そのレベルは、いくつかの年
に存在しない場合、私は、私はこの選択を持っている最小年最大の年を取得し、ギャップをカバーする必要があります。
select B.year, A.level, COUNT(B.id_level) as n_level from level AS A
inner join company_level AS B ON A.id_level = B.id_level
GROUP BY B.id_level, B.year
ORDER BY B.year
マイ結果:私の結果Iドンで
year level n_level
2010 Siver 1
2010 Platinum 2
2010 Gold 2
2011 Gold 1
2013 Gold 1
2014 Platinum 1
2015 Silver 1
$rows = mysqli_query($this->conn, $query);
$bln = array();
$bln['name'] = 'Year';
$row['name'] = 'Level';
$year ="";
while ($r = mysqli_fetch_array($rows)) {
if($year !== $r['year']){
$bln['data'][] = $r['year'];
}
$row['data'][] = $r['n_level'];
$year = $r['year'];
}
$rslt = array();
array_push($rslt, $bln);
array_push($rslt, $row);
print json_encode($rslt, JSON_NUMERIC_CHECK);
マイPHP結果:0
マイPHPで(n_levelを)「Tは、2011年のシルバーとプラチナを持っていると私は、リストにシルバーとプラチナを入れたいけどnumber_levelと:
[{"name":"Year","data":[2010,2011,2013,2014,2015]},{"name":"Level","data":[2,2,1,1,1,1,1]}]
しかし、私の目標は次のとおりです。
[{"name":"Year","data":[2010,2011,2013,2014,2015]},{"name":"Gold","data":[2,2,1,1,1]}, {"name":"Silver","data":[1,0,0,0,1]}, {"name":"Platinum","data":[2,2,1,1,1]}]
は、任意の助けてくれてありがとう。 @Tinトランの解答後
結果:
$rows = mysqli_query($this->conn, $query);
$bln = array();
$bln['name'] = 'Year';
$row_gold['name'] = 'Gold';
$row_platinum['name'] = 'Platinum';
$row_silver['name'] = 'Silver';
while ($r = mysqli_fetch_array($rows)) {
$bln['data'][] = $r['year'];
$row_gold['data'][] = $r['gold'];
$row_platinum['data'][] = $r['platinum'];
$row_silver['data'][] = $r['silver']; '';
}
$rslt = array();
array_push($rslt, $bln);
array_push($rslt, $row_gold);
array_push($rslt, $row_platinum);
array_push($rslt, $row_silver);
print json_encode($rslt, JSON_NUMERIC_CHECK);
このコードはHighchartsで本当にうまく機能します。 @ Tin Tranにもう一度ありがとう。
を使用すると、データベースのテーブルと内容 –
を投稿できるこの行が面白い '$のrow_gold [ 'データ']を探します[] = $ R [ 'ゴールド']; 'ゴールド'; '余分な「金」は何ですか;最後には? –
申し訳ありませんが、そこに金を気にしません。 :) –