Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wykresy animowane + dane ze zmiennej php + json[inne][PHP][JavaScript]
Nidan23
post
Post #1





Grupa: Zarejestrowani
Postów: 101
Pomógł: 2
Dołączył: 26.04.2019

Ostrzeżenie: (10%)
X----


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:

  1. <?php
  2. $clantag = "#28LJOYOLQ";
  3.  
  4. $clanurl = "https://api.clashofclans.com/v1/clans/" . urlencode($clantag);
  5.  
  6. $ch = curl_init($clanurl);
  7.  
  8. $headr = array();
  9. $headr[] = "Accept: application/json";
  10. $headr[] = "Authorization: Bearer ".$token;
  11.  
  12. curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);
  13. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  14. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  16.  
  17. $res = curl_exec($ch);
  18. $data = json_decode($res, true);
  19. curl_close($ch);
  20.  
  21. if (isset($data["reason"])) {
  22. $errormsg = true;
  23. }
  24.  
  25. $members = $data["memberList"];
  26.  
  27. foreach($members as $member) {
  28.  
  29. $dataPoints = array(
  30.  
  31. array("label"=> $member["name"], "y"=> $member["donations"]),
  32.  
  33. );
  34. ?>

  1. window.onload = function () {
  2.  
  3. var chart = new CanvasJS.Chart("chartContainer", {
  4. animationEnabled: true,
  5. exportEnabled: true,
  6. theme: "light2", // "light1", "light2", "dark1", "dark2"
  7. title:{
  8. text: "Donaty"
  9. },
  10. data: [{
  11. type: "column", //change type to bar, line, area, pie, etc
  12. //indexLabel: "{y}", //Shows y value on all Data Points
  13. indexLabelFontColor: "#5A5757",
  14. indexLabelPlacement: "outside",
  15. dataPoints: <?php echo json_encode($members); ?>
  16. }]
  17. });
  18. chart.render();
  19.  
  20. }


+ wywołanie wykresu ze skryptem z ich biblioteki

  1. <div id="chartContainer" style="height: 370px; width: 100%;"></div>
  2. <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ć.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gitbejbe
post
Post #2





Grupa: Zarejestrowani
Postów: 516
Pomógł: 63
Dołączył: 27.08.2012

Ostrzeżenie: (0%)
-----


Cytat
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.


tylko że Ty nic nie aktualizujesz w tym kodzie. Wrzucasz na wykres jednokrotnie jakieś dane w zmiennej $member i tyle. Co w ogóle ona zawiera, ta zmienna ? Pokaż ją.

Cytat
PS. Prawdopodobnie nie umiem używać google'a, więc nie krzyczcie jak jednak znajdziecie coś co może zadziałać


Wszystko może działać, to nie biblioteki są problemem tylko Twoje podejście. Nie chce Ci się i próbujesz się głupio tłumaczyć i u mnie jesteś skreślony. Użyłeś biblioteki canvasjs - równie dobrze mogłaby być dowolnie inna. Byleś na ich stronie ? Zerknąłeś na dokumentacje ? Na przykłady których masz tam multum ? Nie, bo lepiej napisać że nie ogarnia się googla...

Proszę: https://canvasjs.com/javascript-charts/dyna...ive-line-chart/

ps. php nie jest tutaj konieczny

Ten post edytował gitbejbe 16.05.2019, 18:38:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 19:29