从HighCharts的数据库中显示信息

时间:2016-06-01 06:33:10

标签: javascript php jquery mysql highcharts

Hiii Everyone,

在我的应用程序中,将有一个部分被命名为管理面板。管理员可以根据学生资料完成情况在高图中查看报告。 以下是示例页面

enter image description here

我的数据库示例

enter image description here

这里我的图表解释了2个学生完成他们的个人资料80-100%。这些信息来自数据库。同样我希望获得相应的学生信息。如何获得该学生的详细信息饼图。单击图表将显示80-100%类别的学生的详细信息。同样,如果他点击绿色,它将显示学生的详细信息以及40-60%以下的所有类别的数据库。如果有人知道解决方案,我怎么能这样做,请告诉我。 以下是我的代码

的Javascript

 <div id="stage" style="padding-bottom:80px;" ></div>

var stage = {
           chart: {
                  renderTo: 'stage',
                  plotBackgroundColor: null,
                  plotBorderWidth: null,
                  plotShadow: false
              },
              title: {
                  text: 'No. of Applicants by Profile Completion'
              },
              tooltip: {
                  formatter: function() {
                      return '<b>'+ this.point.name +'</b>: '+ this.y ;
                  }
              },
               credits: {
                    enabled: false
               },
              plotOptions: {
                  pie: {
                      allowPointSelect: true,
                      cursor: 'pointer',
                      dataLabels: {
                          enabled: true,
                          color: '#000000',
                          connectorColor: '#000000',
                          distance: 10,
                          formatter: function() {
                              return '<b>'+ this.point.name +'</b>: '+ this.y;
                          },

                      },

       showInLegend: true
                  }
              },
              series: [{
                  type: 'pie',
                  name: '',
                  data: [],
                  dataLabels: {
                  color:'black',
                  distance: -30,   
                  formatter: function () {
                     return '<b style="font-size:16px;">'+ this.y +'</b> ';
                  }
              }
              }]
          }


          $.getJSON("get_stage_chart.php", function(json) {

        stage.series[0].data = json;
            chart = new Highcharts.Chart(stage);
          });

get_stage_chart.php

<?php 
date_default_timezone_set('Asia/Kolkata');
$date = date("Y-m-d");
$time = date("Y-m-d H:i:s");
require "reports.php";
$reports = new reports();
$stages = $reports->stage_report();
$i=0;
foreach ($stages as $stage) {
$name[$i] = $stage['percentage'];
$val[$i] = $stage['users'];
$i++;
}
$jsonData = array();
     $i=0;
  foreach ($stages as $stage) {

           array_push($jsonData,array($name[$i],intval($val[$i])) );
    $i++;
  }
    echo json_encode($jsonData);
    exit;
 ?>

reports.php

<?php
include ("dbConnection.php");

class reports 
{
     public $link;
    function __construct()
    {
        $dbc = new dbConnection();
        $this->link = $dbc->Connect();
        return $this->link;
    }
    public function stage_report()
    {

        $q = $this->link->prepare('SELECT  distinct percentage As percentage,count(percentage) As users from details group by percentage');
        $q->execute();
        $count = $q->fetchall();
        return $count;
    } 
}

?>

如果有人给我解决我的问题的解决方案,对我来说非常有帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

点击后我不太明白你想要显示什么。但是在highcharts中有一个click事件。

link:http://api.highcharts.com/highcharts#plotOptions.pie.point.events.click

在他们的演示页面上,他们提供了一个示例图表:http://www.highcharts.com/demo/line-ajax

以下代码与您相关。将它添加到plotOptions.pie对象

point: {
    events: {
        click: function (e) {
            // your code for on click
        }
    }
}