使用HIGHCHART,PHP,使用文本文件中的正确值按颜色对图表栏进行排序
假设我的PHP函数代码如下所示: function.php使用HIGHCHART,PHP,使用文本文件中的正确值按颜色对图表栏进行排序,php,jquery,highcharts,Php,Jquery,Highcharts,假设我的PHP函数代码如下所示: function.php function PMTA_CHART($contentID, $chartName, $file, $order) { $cate = ''; $total = ''; $fail = ''; $chart = array(); $title = ""; $PercentBlue = 0; $PercentRed = 0; if (file_exists($file))
function PMTA_CHART($contentID, $chartName, $file, $order) {
$cate = '';
$total = '';
$fail = '';
$chart = array();
$title = "";
$PercentBlue = 0;
$PercentRed = 0;
if (file_exists($file)) {
$files = fopen($file, 'r');
while (!feof($files)) {
$data = explode(";", fgets($files));
if ($title == "") {
$title = $data[0];
}
if (!empty($data[5])) {
$cate = $data[5];
$PercentBlue = ((int)$data[6] - (int)$data[7]);
$PercentRed = (int)$data[7];
if (!empty($order)) {
$PercentBlue = (100 - (int)$data[8]);
$PercentRed = (int)$data[8];
$chart[] = array($PercentBlue, $PercentRed, $cate);
} else {
$PercentBlue = (100 - (int)$data[8]);
$PercentRed = (int)$data[8];
$chart[] = array($PercentRed, $PercentBlue, $cate);
}
}
}
arsort($chart);
$cate = '';
$PercentBlue = 0;
$PercentRed = 0;
if (!empty($order)) {
foreach ($chart as $arr) {
$cate.= ',' . "'$arr[2]'";
$PercentBlue.= ',' . $arr[0];
$PercentRed.= ',' . $arr[1];
}
} else {
foreach ($chart as $arr) {
$cate.= ',' . "'$arr[2]'";
$PercentBlue.= ', ' . $arr[1];
$PercentRed.= ', ' . $arr[0];
}
}
fclose($files);
} else {
echo "No such file";
}
?>
<?php echo $chartName ?> = new Highcharts.Chart({
chart: {
renderTo: '<?php echo $contentID ?>',
type: 'column'
},
title: {
text: '<?php echo $title; ?>'
},
xAxis: {
categories: [<?php echo substr($cate, 1); ?>],
labels: {
rotation: 90,
align: 'left'
}
},
yAxis: {
min: 0,
title: {
text: '% envoi'
}
},
tooltip: {
formatter: function() {
return ''+
this.series.name +': '+ this.y +' ('+ Math.round(this.percentage) +'%)';
}
},
plotOptions: {
column: {
stacking: 'percent'
}
},
series: [{
name: 'Total mail succesful',
data: [<?php echo substr($PercentBlue, 2); ?>]
}, {
name: 'Total mail fail',
data: [<?php echo substr($PercentRed, 2); ?>]
}]
});
<?php
include('include/function.php');
$pmta3_emetteur_file = '../stats_domain_emetteur.affinitead.net.'.date("Y-m-d").'.txt';
$pmta4_emetteur_file = '../stats_domain_emetteur.switchcall.com.'.date("Y-m-d").'.txt';
$pmta5_emetteur_file = '../stats_domain_emetteur.unitead.eu.'.date("Y-m-d").'.txt';
$order = isset($_POST['txt_order_blue'])?$_POST['txt_order_blue']:'';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Chart</title>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var chart3, chart4, chart5;
$(document).ready(function() {
<?php PMTA_CHART('PMTA3', 'chart3', $pmta3_emetteur_file, $order); ?>
<?php PMTA_CHART('PMTA4', 'chart4', $pmta4_emetteur_file, $order); ?>
<?php PMTA_CHART('PMTA5', 'chart5', $pmta5_emetteur_file, $order); ?>
});
});
</script>
</head>
<body>
<script src="js/highcharts.js"></script>
<script src="js/exporting.js"></script>
<form action="pmtaEmetteur.php" method="post">
<input type="submit" name="txt_order_red" id="txt_order_red" title="Order Red" value="Order Red"/>
<input type="submit" name="txt_order_blue" id="txt_order_blue" title="Order blue" value="Order blue"/>
</form>
<div id="PMTA3" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<div id="PMTA4" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
<div id="PMTA5" style="min-width: 400px; height: 400px; margin: 0 auto"></div>
</body>
</html>
我找不到解决方案,任何人都知道,请帮助我,谢谢。将工具提示格式化程序更改为:
this.series.name +': '+ this.y +' ('+ Math.round(this.percentage * 10) +'%)';
将工具提示格式化程序更改为:
this.series.name +': '+ this.y +' ('+ Math.round(this.percentage * 10) +'%)';
解决方案是什么?什么问题?它对我有效。对于订单按钮,它有效,但对于数据,当我们将鼠标移到条形图上时,它应该显示:例如
邮件成功总数:900(90%)
和邮件失败总数:100(10%)
。事实上,您看到的邮件成功总数:90(90%)
和邮件失败总数:10(10%)
条形图中并不是这样显示的。为什么函数名PMTA\u图表
是大写的?解决方案是什么?什么问题?它对我有效。对于订单按钮,它有效,但对于数据,当我们将鼠标移到条形图上时,它应该显示:例如邮件成功总数:900(90%)
和邮件失败总数:100(10%)
。事实上,您看到的邮件成功总数:90(90%)
和邮件失败总数:10(10%)
条形图中不是这样显示的。为什么函数名PMTA\u图表
是大写的?