データベーステーブルから情報を取得して配列に格納する関数を作ったので、json固有の形式でエンコードする必要があります。 これは、関数である:PHP配列json形式
public function json() {
$query = "SELECT ax.nome as auxiliar, t.assiduidade, t.normas,
t.eficiencia, t.relacionamento, t.iniciativa,
t.visao, (
SELECT truncate(avg(t.assiduidade + t.normas + t.eficiencia + t.relacionamento + t.iniciativa + t.visao)/6, 2)
FROM topico t
WHERE a.id = t.idAval
) AS media
FROM avaliacao a
INNER JOIN supervisor s ON a.supervisor_id = s.id
INNER JOIN auxiliar ax ON a.auxiliar_id = ax.id
INNER JOIN departamento d ON a.departamento_id = d.id
inner join topico t on a.id = t.idAval
WHERE a.departamento_id = ?
and date(a.data) between ? and last_day(?)";
$stmt = $this->conn->prepare($query);
$info["aval"] = array();
$stmt->bindParam(1, $this->departamento);
$stmt->bindParam(2, $this->data);
$stmt->bindParam(3, $this->data);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
extract($row);
$info2 = ['name' => $auxiliar, 'y' => $media, 'drilldown' => $auxiliar, 'data' => [['assiduidade', floatval($assiduidade)], ['normas', floatval($normas)], ['eficiencia', floatval($eficiencia)], ['relacionamento', floatval($relacionamento)], ['iniciativa', floatval($iniciativa)], ['visao', floatval($visao)]]];
array_push($info, $info2);
}
//var_dump($info);
$fp = fopen('data.json', "w");
fwrite($fp, json_encode($info, JSON_PRETTY_PRINT));
fclose($fp);
}
これはdata.jsonの出力です:
{
"aval": [
],
"0": {
"name": "Isratshawatt Sousa",
"y": "7.83",
"drilldown": "Isratshawatt Sousa",
"data": [
[
"assiduidade",
8
],
[
"normas",
7
],
[
"eficiencia",
8
],
[
"relacionamento",
9
],
[
"iniciativa",
6
],
[
"visao",
9
]
]
},
"1": {
"name": "Jo\u00e3o Batista J\u00fanior",
"y": "7.85",
"drilldown": "Jo\u00e3o Batista J\u00fanior",
"data": [
[
"assiduidade",
9.8
],
[
"normas",
7.5
],
[
"eficiencia",
8.8
],
[
"relacionamento",
6.6
],
[
"iniciativa",
5.5
],
[
"visao",
8.9
]
]
} }
そして、これは私が必要なフォーマットである:私の質問はどのように私はできている
{
"aval": [
{
"name": "Isratshawatt Sousa",
"y": "7.83",
"drilldown": "Isratshawatt Sousa",
"data": [
[
"assiduidade",
8
],
[
"normas",
7
],
[
"eficiencia",
8
],
[
"relacionamento",
9
],
[
"iniciativa",
6
],
[
"visao",
9
]
]
},
{
"name": "Jo\u00e3o Batista J\u00fanior",
"y": "7.85",
"drilldown": "Jo\u00e3o Batista J\u00fanior",
"data": [
[
"assiduidade",
9.8
],
[
"normas",
7.5
],
[
"eficiencia",
8.8
],
[
"relacionamento",
6.6
],
[
"iniciativa",
5.5
],
[
"visao",
8.9
]
}
]
}
上記のjson形式を再現する$ info配列をフォーマットしますか?
もしあなたがMADNESSが通過するまで 'extract' **との戦いをしようと思ったら**これは同じ名前' $ info2 [] = $ row; 'を実行します。 'あなたがあなたのJSONでそれらをしたい方法 – RiggsFolly
私はあなたを理解していると思う、ポイントは私はグラフを生成することができるJSON形式が必要です。 – kelsen