Я использую Canvas Js и получаю проблемы при подключении MySQL, мои значения приходят, но мой график не отображается - PullRequest
1 голос
/ 03 февраля 2020
$'dbhost' = 'localhost'; $dbname = 'chart'; $dbuser = 'root'; $dbpass = '';

try{ 
    $dbcon = new PDO("mysql:host={$dbhost};dbname={$dbname}",$dbuser,$dbpass); 
    $dbcon->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
} 
catch(PDOException $ex)
    { die($ex->getMessage());
    } 
$stmt=$dbcon->prepare("SELECT * FROM contribution "); 
$stmt->execute(); 
while ($row=$stmt->fetch(PDO::FETCH_ASSOC))
  { 
   extract($row); 
   $json[] = $student; 
   $json2[] = (int)$contribution; 
  } 
echo json_encode($json); echo json_encode($json2); ?>

window.onload = function () 
    { 
    var chart = new CanvasJS.Chart("chartContainer", 
      { 
      animationEnabled: true
      , exportEnabled: true
       theme: "light1", // "light1", "light2", "dark1", "dark2" 
       title:{ text: "PHP Column Chart from Database" }
       , data: [{ type: "column", //change type to bar, line, area, pie, etc 
         dataPoints: }]
      }
      ); 
      chart.render(); 
    }

1 Ответ

0 голосов
/ 03 февраля 2020

При правильном выравнивании кода вы видите, что пропускаете две запятые перед и заголовок

И вам нужно передать json, который вы строите, в точку данных.

  animationEnabled: true
  , exportEnabled: true
   ,theme: "light1" // "light1", "light2", "dark1", "dark2" 
   ,title:{ text: "PHP Column Chart from Database" }
   , data: [{ type: "column",
           dataPoints:<?php echo json_encode($json2); ?>
           }]

Но так как это только пример того, что вам не хватает.

вы должны проверить, имеют ли ваши $ jsons правильный формат

...