我有以下问题。我想根据数据库中的数据自动显示多个 Highcharts webcharts。假设我们有以下数据库:
___________________________________________________________________
| | | | | | |
| Year | Month | ID | Name User | Wins | Losses |
|_______|___________|______|_______________|____________|__________|
| 2013 1 21 Tony Stark 3 12 |
| 2013 1 52 Bruce Wayne 5 4 |
| 2013 1 76 Clark Kent 9 5 |
|__________________________________________________________________|
(此数据库为示例,真实数据库中的行数较多。)
我有以下查询:
SELECT
a.year AS year1,
a.month AS month1,
a.id AS id,
a.name AS nameuser,
a.wins AS wins,
a.losses AS losses
FROM Sales a
WHERE
a.month = 1 AND
a.year = YEAR(NOW())
有了这个,用 Highcharts 硬编码图表就很容易了。但我想要的是每个用户必须有一个 webchart。因此,我想要基于数据库中的数据并排放置的多个图表,而不是一个包含所有用户的网络图表。
所以不是这个:
我想要这个(但然后彼此相邻):
必须用php和mysql自动生成。因此,如果本月开始有新用户,并且新用户已保存在数据库中,则页面会自动显示新用户以及相关的网络图表。
我发现这很难完成,我需要一些帮助才能找到解决方案的正确方向。
编辑:
这是我目前拥有的:
<?php
$sql = "SELECT
a.year AS year1,
a.month AS month1,
a.id AS id,
a.name AS nameuser,
a.wins AS wins,
a.losses AS losses
FROM Sales a
WHERE
a.month = 1 AND
a.year = YEAR(NOW())";
$result = $adb->pquery($sql, array());
while ($row = $adb->fetch_array($result)) {
?>
<script>
$(function () {
$("#webchart<? echo $row["id"] ?>").highcharts({
chart: {
polar: true,
type: "line"
},
title: {
text: "",
x: -80
},
legend: {
enabled: false
},
exporting: {
enabled: false
},
credits: {
enabled: false
},
pane: {
size: "80%"
},
xAxis: {
categories: ["wins", "losses", "etc", "test",
"junk"],
tickmarkPlacement: "on",
lineWidth: 0
},
yAxis: {
gridLineInterpolation: "polygon",
lineWidth: 0,
min: 0
},
legend: {
verticalAlign: "bottom",
y: 100,
layout: "vertical"
},
series: [{
name: "test",
data: [ <? echo $row["wins"] . ", " . $row["losses"] . ", " . $row["etc"] . ", " . $row["test"] . ", " .$row["junk"] ?>],
pointPlacement: "on"
}]
});
});
</script>
<div id="webchart<? echo $row["id"] ?>" style="min-width: 300px; height: 300px; margin:0 auto;"></div>
<?} ?>
问题是这个循环什么都不返回。 (是的,我已经放置了具有正确 ID 的 div)。
最佳答案
嗯,我认为你的代码几乎是正确的,但是,从你得到字段的地方 等等,测试和垃圾?我尝试使用您的代码,使用 mysqli,我想您使用的是相同的,但您的查询永远不会返回此数据。如果你改变
data: [ <?php echo $row["wins"] . ", " . $row["losses"] . ", " . $row["etc"] . ", " . $row["test"] . ", " .$row["junk"] ?>],
对于:
data: [ <?php echo $row["wins"] . ", " . $row["losses"] . ", " . $row["losses"] . ", " . $row["losses"] . ", " .$row["losses"] ?>],
这对我有用。
希望对你有帮助。
祝你好运。
关于php - 如何使用 PHP 和 MYSQL 自动显示多个图表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293635/