【发布时间】:2017-04-04 18:54:27
【问题描述】:
如果有从我的 SQL 服务器生成图表的方法,但不是从不同的表生成图表,有人可以告诉我吗?我有一个包含很多列的表,我想比较用户选择的两个或多个列,同时检查一个复选框。 我想将数据放在多系列图表中,但我现在不知道它是如何工作的。 我的以下代码允许我成功获取 x_axis (标签值)但不是我的数据。 有什么建议吗?
<?php
//We have included ../Includes/FusionCharts.php, which contains functions
//to help us easily embed the charts.
include("class/Includes/FusionCharts.php");
?>
<HTML>
<HEAD>
<TITLE> FusionCharts XT - </TITLE>
<SCRIPT LANGUAGE="Javascript" SRC="fusioncharts/fusioncharts.js"></SCRIPT>
<SCRIPT LANGUAGE="Javascript" SRC="fusioncharts/themes/fusioncharts.theme.fint.js"></SCRIPT>
</HEAD>
<BODY>
<?php
$hostdb = "localhost"; // MySQl host
$userdb = "root"; // MySQL username
$passdb = ""; // MySQL password
$dbName = "database"; // MySQL database name
$link = new mysqli ($hostdb, $userdb, $passdb, $dbName);
$strQueryCategories = "SELECT A FROM `table_temporaire` ";
$resultCategories = $link->query($strQueryCategories);
//$col="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'chaima' AND TABLE_NAME = 'table_temporaire'";
//$r = $link->query($col);
$stmt = $link->prepare("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'database' AND TABLE_NAME = 'table_temporaire'");
$b=$stmt->execute();
$a = array();
foreach ($stmt->get_result() as $row)
{
$a[] = $row['COLUMN_NAME'];
}
$strQueryData = "SELECT * FROM `table_temporaire`";
$resultData = $link->query($strQueryData);
$strXML = "<chart legendPostion='' caption='waak' subCaption='offt' xAxisName='date' yAxisName='valeur' showValues='0' formatNumberScale='0' rotateValues='1' theme='fint'>";
$strXML .= buildCategories ($resultCategories, "A");
$strXML .= buildDatasets ( $resultData, $a, $b);
$strXML .= "</chart>";
echo renderChart("MSLine", "", $strXML, "", 600, 300, false, true);
// $resultCategories->mysqli_free_result ();
// $resultData->mysqli_free_result ();
//void mysqli_free_result ($resultData);
// mysql_free_result($resultCategories);
//mysql_free_result($resultData);
$link->close();
//mysql_close($link);
function buildCategories ( $result, $labelField ) {
$strXML = "";
if ($result) {
$strXML = "<categories>";
while($ors = $result->fetch_assoc())
{
$strXML .= "<category label='" . $ors[$labelField]. "'/>";
}
$strXML .= "</categories>";
}
return $strXML;
}
function buildDatasets ($result, $valueField, $controlBreak ) {
$strXML = "";
if ($result) {
$controlBreakValue ="";
while($ors = $result->fetch_assoc())
{
{
echo" ";
if( $controlBreakValue != $ors[$controlBreak] ) {
$controlBreakValue = $ors[$controlBreak];
$strXML .= ( $strXML =="" ? "" : "</dataset>") . ( "<dataset seriesName='" . $controlBreakValue . "'>" ) ;
$strXML .= "<set value='" . $ors[$valueField] . "'/>";
}
$strXML .= "</dataset>";
}
return $strXML;
}
?>
</BODY>
</HTML>
【问题讨论】:
标签: php mysql fusioncharts