【发布时间】:2016-03-01 11:40:09
【问题描述】:
我正在尝试将数据从我的数据库中获取到图表中。我使用的图表来自 fusioncharts。如果我打印 row_cnt,他们会给我正确的信息,但在表格中它给了我错误/没有信息。
$dbhandle = new mysqli($hostdb, $userdb, $passdb, $namedb);
if ($dbhandle->connect_error) {
exit("There was an error with your connection: ".$dbhandle->connect_error);
}
?>
<html>
<head>
<title>FusionCharts XT - Column 2D Chart - Data from a database</title>
<script src="includes/fusioncharts.js"></script>
<script src="includes/fusioncharts.charts.js"></script>
</head>
<body>
<?php
$result = $dbhandle->query("SELECT * FROM email");
$result2 = $dbhandle->query("SELECT * FROM email WHERE status='1'");
$result3 = $dbhandle->query("SELECT * FROM email WHERE status='0'");
$row_cnt = $result->num_rows;
$row_cnt2 = $result2->num_rows;
$row_cnt3 = $result3->num_rows;
// If the query returns a valid response, prepare the JSON strin
if ($result) {
// The `$arrData` array holds the chart attributes and data
$arrData = array(
"chart" => array
(
"caption" => "Aantal geregistreerde emails",
"paletteColors" => "#0075c2",
"bgColor" => "#ffffff",
"borderAlpha"=> "20",
"canvasBorderAlpha"=> "0",
"usePlotGradientColor"=> "0",
"plotBorderAlpha"=> "10",
"showXAxisLine"=> "1",
"xAxisLineColor" => "#999999",
"showValues" => "0",
"divlineColor" => "#999999",
"divLineIsDashed" => "1",
"showAlternateHGridColor" => "0"
)
);
$arrData["data"] = array();
// Push the data into the array
while($row = mysqli_fetch_array($result)) {
array_push($arrData["data"], array(
"label" => 'active emails',
"value" => $row_cnt,
)
);
}
- row_cnt 给了我邮件的总数
- row_cnt2 为我提供了活跃电子邮件总数
- row_cnt3 为我提供了非活动/已注销电子邮件的总数
在图表中,它只给我注册的电子邮件总数 (row_cnt),当我想尝试在图表中添加其他 2 个时,它没有给我任何信息。包含已注册电子邮件总数的栏也会显示两次。有人知道我做错了什么或如何做到这一点?
我想显示 3 个不同的栏 1 需要是注册的电子邮件总数 栏号 2 需要是活动的,栏号 3 是非活动的。
【问题讨论】:
-
在您的 while 循环中,您正在迭代
$result3。但是您每次都将$row_cnt推入数组。这可能是问题吗?试着写"value" => $row['...something else...'], ... -
@peter_the_oak 这是问题的一部分,但我想显示 3 个不同的栏,我刚刚编辑了我的问题以使其更清晰。
标签: php mysql mysqli charts fusioncharts