Otóż sprawa ma się następująco, poszukuję biblioteki bądź poradnika jak tworzyć wykresy animowane (czyli jak najadę na kolumnę/kropkę to wyświetli mi dokładną wartość, choć tyle). Wiem, wiem w internetach jest sporo takich niby rozwiązań, próbowałem korzystać z CanvasJS.com, jednak albo robiłem błąd w pętli, albo nie da rady, bo wyświetlał się tylko ostatni członek klanu a nie każdy. Poniżej wklejam kod:
<?php
$clantag = "#28LJOYOLQ";
$clanurl = "https://api.clashofclans.com/v1/clans/" . urlencode($clantag);
$ch = curl_init($clanurl);
$headr[] = "Accept: application/json";
$headr[] = "Authorization: Bearer ".$token;
curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
$data = json_decode($res, true);
curl_close($ch);
if (isset($data["reason"])) { $errormsg = true;
}
$members = $data["memberList"];
foreach($members as $member) {
array("label"=> $member["name"], "y"=> $member["donations"]),
);
?>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
animationEnabled: true,
exportEnabled: true,
theme: "light2", // "light1", "light2", "dark1", "dark2"
title:{
text: "Donaty"
},
data: [{
type: "column", //change type to bar, line, area, pie, etc
//indexLabel: "{y}", //Shows y value on all Data Points
indexLabelFontColor: "#5A5757",
indexLabelPlacement: "outside",
dataPoints: <?php echo json_encode($members); ?>
}]
});
chart.render();
}
+ wywołanie wykresu ze skryptem z ich biblioteki
<div id="chartContainer" style="height: 370px; width: 100%;"></div> <script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
Więc jak mówiłem, wykres wyświetla tylko jedną osobę a nie wszystkie, co jest kłopotem, a że dane są cały czas aktualizowane, to prowadzanie stałych danych mija się z celem.
PS. Prawdopodobnie nie umiem używać google'a, więc nie krzyczcie jak jednak znajdziecie coś co może zadziałać.