簡體   English   中英

如何使用PHP和MYSQL自動顯示多個圖表?

[英]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對圖表進行硬編碼非常容易。 但是我想要的是每個用戶必須有一個網絡圖表。 因此,我希望基於數據庫中的數據,使多個圖表彼此相鄰,而不是其中包含所有用戶的單個網絡圖表。

所以代替這個:

http://jsfiddle.net/CWSb6/

具有所有用戶的單個圖表

我想要這個(但是彼此相鄰):

http://jsfiddle.net/DReMD/

多個圖表,每個用戶一張

它必須使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM