gpt4 book ai didi

php - Fusioncharts - 显示有限记录的 2D 列堆栈

转载 作者:行者123 更新时间:2023-11-29 18:06:55 24 4
gpt4 key购买 nike

我使用 MySQL/PHP 和 PHPWrapper 来使用 FusionCharts。我已经能够获取数据并将其渲染为 2D 列堆栈,但尽管有任何限制,但仍停留在 7。

我使用它来显示从 4 月开始到 11 月的每个月的记录数,但第一个堆栈从 5 月开始,当时我在 ASC 中按月对数据进行分组。有趣的是,当我将其更改为 DESC 时,我看到 10 月到 4 月的数据(7 条记录),而 11 月的数据丢失了。我没有定义任何可能阻止此操作的限制,但我可以让它发挥作用。

我在MySQL中的数据集类型是;

acqid - INT
acq_month - DATE

fusioncharts.php 及其关联的 JS 在文件中被正确调用。

以下是我正在使用的代码;

<?php
// Form the SQL query that returns the top 10 most populous countries
$strQuery = "SELECT count(acqid), acq_month FROM newacq GROUP BY MONTH(acq_month) ASC";

// Execute the query, or else return the error message.
$result = $conn->query($strQuery) or exit("Error code ({$conn->errno}): {$conn->error}");
$arr=mysqli_fetch_array($result);

//while($arr=mysqli_fetch_array($result)) {
// print_r($arr);
//}

// If the query returns a valid response, prepare the JSON string
if ($result) {
// The `$arrData` array holds the chart attributes and data
$arrData = array(
"chart" => array(
"caption" => "New Acq",
"showValues" => "1",
"theme" => "zune"
)
);

$arrData["data"] = array();

// Push the data into the array
while($row = mysqli_fetch_array($result)) {
array_push($arrData["data"], array(
"label" => date("M-Y", strtotime($row["acq_month"])),
"value" => $row["count(acqid)"],
)
);
}

/*JSON Encode the data to retrieve the string containing the JSON representation of the data in the array. */

$jsonEncodedData = json_encode($arrData);


/*Create an object for the column chart using the FusionCharts PHP class constructor. Syntax for the constructor is ` FusionCharts("type of chart", "unique chart id", width of the chart, height of the chart, "div id to render the chart", "data format", "data source")`. Because we are using JSON data to render the chart, the data format will be `json`. The variable `$jsonEncodeData` holds all the JSON data for the chart, and will be passed as the value for the data source parameter of the constructor.*/

$columnChart = new FusionCharts("column2D", "myFirstChart" , 820, 300, "chart-1", "json", $jsonEncodedData);

// Render the chart
$columnChart->render();

// Close the database connection
$conn->close();
}

?>

<div id="chart-1"><!-- Fusion Charts will render here--></div>

当我尝试使用 [print_r] 获取 ARRAY 中执行的详细信息时,我收到以下消息;

Array ( [0] => 208 [count(acqid)] => 208 [1] => 2017-04-01 [acq_month] => 2017-04-01 ) Array ( [0] => 241 [count(acqid)] => 241 [1] => 2017-05-01 [acq_month] => 2017-05-01 ) Array ( [0] => 243 [count(acqid)] => 243 [1] => 2017-06-01 [acq_month] => 2017-06-01 ) Array ( [0] => 269 [count(acqid)] => 269 [1] => 2017-07-01 [acq_month] => 2017-07-01 ) Array ( [0] => 373 [count(acqid)] => 373 [1] => 2017-08-01 [acq_month] => 2017-08-01 ) Array ( [0] => 370 [count(acqid)] => 370 [1] => 2017-09-01 [acq_month] => 2017-09-01 ) Array ( [0] => 283 [count(acqid)] => 283 [1] => 2017-10-01 [acq_month] => 2017-10-01 ) Array ( [0] => 312 [count(acqid)] => 312 [1] => 2017-11-01 [acq_month] => 2017-11-01 )

它确实显示了 4 月和 11 月执行的信息,包括。如果有帮助的话!

最佳答案

在运行查询之后,我可以通过修改代码来解决与数组值有关的问题。

我不得不简单地隐藏/注释“$arr=mysqli_fetch_array($result);“部分并且成功了!!!

原本

$result = $conn->query($strQuery) or exit("Error code ({$conn->errno}): {$conn->error}");
$arr=mysqli_fetch_array($result);

更改为;

$result = $conn->query($strQuery) or exit("Error code ({$conn->errno}): {$conn->error}");
//$arr=mysqli_fetch_array($result);

它成功了!!!

关于php - Fusioncharts - 显示有限记录的 2D 列堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47752641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com