php - ChartJS 和 Ajax 调用

标签 php jquery mysql ajax chart.js

我想使用 ChartJS 和 PHP ( Silex Framework ) 制作图表

这是我的ajax调用

$.ajax({ url: 'stats',
   data: {method: 'dossierRepartitionType'},
   type: 'post',
   datatype: 'json',
   success: function(output) {
               dataDossierRepartitionType=output;
             },
   error: function () {
                 alert("Oops there is an error.");
  }});

这是我设法调用的 PHP 函数

public function dossier(){
$stmt = "SELECT count(*) FROM dossier GROUP BY typedossier";
$stmt = $this->db->prepare($stmt);
$rows=$stmt->execute();
$rows = $stmt->fetch(PDO::FETCH_NUM);
return ?????

这是我的图表:

var ctx = document.getElementById("myChart");
ctx.width = 400;
ctx.height = 400;
data = {
  datasets: [{
  data: [dataDossierRepartitionType, 20],
  backgroundColor: [
  'rgb(255, 99, 132)',
  'rgb(54, 162, 235)',
  ],
  borderColor: [
  'white',
  'white',
  ],
  borderWidth: 1
  }],

  // These labels appear in the legend and in the tooltips when hovering        different arcs
  labels: [
    'Red',
    'Blue',
  ]
  };
var myDoughnutChart = new Chart(ctx, {
type: 'doughnut',
data: data,
options: {
legend: {
labels: {
    fontColor: "white",
    fontSize: 18
}
},
maintainAspectRatio: false,
responsive: false
}
});

路由.php

$app->post('/stats', function () use ($app) {
session_start();
if(isset($_POST['method']) && !empty($_POST['method'])) {
  $method = $_POST['method'];
  switch($method) {
    case 'dossierRepartitionType' :
     $dossiers=$app['dao.dossier']->dossierRepartitionType();
     break;
    }
  }
  return new ResponseSilex("$dossiers");
 });

所以我的 AJAX 调用路由,然后将函数的结果放入响应中输出的 $dossiers,我做对了吗?

我如何返回一个包含每个计数的所有数据值的数组? 我努力捕捉错误并找到将 MYSQL 计数值绑定(bind)到我的图表的正确方法

谢谢

最佳答案

主要思想是你应该在你的模型中格式化你的数据,然后通过json_encode返回JSON给前端。之后,您将解析 ajax 返回中的 json,然后将适当的数据传递给图表。

关于php - ChartJS 和 Ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44849892/

相关文章:

php - Wordpress - wp-query 按 PHP/MySQL 查询数组中的自定义字段列出帖子

javascript - JQuery从ajax加载中获取元素id数据

Javascript 返回一个字符串作为 jquery 验证添加方法的正则表达式

mysql - jOOQ动态SQL问题

mysql - 如何迁移现有记录以匹配 Rails 中的新 ORM

javascript - 如何动态创建服务器上保存的文件的下载链接?

php - 如何防止 Wordpress 在摘录中剥离 HTML 标签

javascript - 从js访问插件 Controller

mysql - 返回所选列中列出的相关记录

php - 在 php 中使用 RSA 的一个很好的例子