Hiii Jedem,Onclick von HighCharts
In meiner Anwendung, wird es ein Teil sein, das als Admin Panel.Where die Admin-Namen kann den Bericht in highchart sehen, basierend auf der Schüler-Profil Vollendung. Im Folgenden finden Sie die Beispielseite
Meine Datenbank Beispiel
Hier erklärt mein Diagramm, dass 2 Anzahl der Studierenden absolvieren ihr Profil 80-100% .Diese Informationen aus der Datenbank genommen wird Ähnlich möchte ich entsprechende Studenteninformationen bekommen. Wie kann ich Details dieses Studenten bekommen, wenn sie onclick der Scheibe im Kreisdiagramm klicken. Onclick des Diagramms zeigt die Details der Kursteilnehmer, die und alle in der Kategorie von 80-100% .ähnlich, wenn er klicke auf gree n es wird die Details von Studenten, die und alle unter der Kategorie von 40-60% aus der Datenbank zeigen. Wie kann ich dies tun, wenn jemand die Lösung kennt, lass es mich wissen. Unten ist mein Code
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;
}
}
?>
Wenn jemand mir die Lösung für mein Problem geben wird es sehr sein hilfreich für mich. Vielen Dank im Voraus.
Sie können diese Informationen in benutzerdefinierten Parametern für jeden Punkt beibehalten. I.e {y: 10, customParam: 'Ihre benutzerdefinierten Texte und Informationen'}. Dann in [Ereignis klicken] (http://api.highcharts.com/highstock#plotOptions.series.point.events) oder [tooltip.formatter] (http://api.highcharts.com/highstock#tooltip.formatter) extrahiere das aus this.point.options.customParam reference. –
ich verstehe nicht..können Sie mir einen beliebigen Beispielcode –
Ihr jeder Punkt der Daten sollte Objekt sein. Verwenden Sie dazu array(), wenn Sie in PHP einen Punkt erstellen und Parameter wie x, y, customParam festlegen. –