[英]How do I display multiple charts automatically with PHP and MYSQL?
我有以下問題。 我想根據數據庫中的數據自動顯示多個Highcharts網絡圖表。 假設我們有以下數據庫:
___________________________________________________________________
| | | | | | |
| 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對圖表進行硬編碼非常容易。 但是我想要的是每個用戶必須有一個網絡圖表。 因此,我希望基於數據庫中的數據,使多個圖表彼此相鄰,而不是其中包含所有用戶的單個網絡圖表。
所以代替這個:
我想要這個(但是彼此相鄰):
它必須使用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>
<?} ?>
問題在於此循環不返回任何內容。 (是的,我給div加上了正確的ID)。
嗯,我認為您的代碼幾乎是正確的,但是,從哪里獲得字段等,測試和垃圾? 我使用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"] ?>],
這項工作對我來說。
我希望這可以幫助你。
祝好運。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.