使用php从数据库获取数据到条形图

时间:2017-09-13 09:35:58

标签: php json graph

我有这种数据格式的图表

数据:[station_id1,station_id2,station_id3] x轴 日期:[total_station1,total_station2,total_station3] y轴

但是我想从我的数据库表中获取数据,该数据表包含所有station_id及其相应数据的列表。我想要x轴的所有不同的站点id和y轴的每个id的对应总和。

下面是我的代码

data: [<?php
$q = "SELECT DISTINCT  outletid,amount FROM " . TBL_SALES_LOGS;
$result = $database->query($q);
while ($row = $result->fetch_assoc()) {
    // $outletname = $row['title'];
    $outlet_id = $row['outletid'];
    $amount = $row['amount'];
    ?>
    <?php echo " $outlet_id"; ?>,
<?php } ?> ]

data: [<?php
$qsum3 = "SELECT  SUM(amount) AS totalsum FROM " . TBL_SALES_LOGS . " WHERE outletid ='$outlet_id' and fueltype='AGO'";
$qresult3 = $database->query($qsum3);
while ($rowq3 = $qresult3->fetch_assoc()) {
    $tot3 = $rowq3['totalsum'];
    ?>'<?php echo $tot3; ?>',<?php } ?>]

运行后,输出为:

数据:[520718,567329,]数据:['5000',]

和我想要的是数据1是不同的站ID,data2应该是每个不同的站ID的总和以与data1对应

1 个答案:

答案 0 :(得分:0)

尝试以下代码,这可能会解决您的问题:

<?php
$q = "SELECT DISTINCT  outletid,amount FROM " . TBL_SALES_LOGS;
$result = $database->query($q);
$outlets = [];
?>
data: [<?php
while ($row = $result->fetch_assoc()) {
    // $outletname = $row['title'];
    $outlet_id = $row['outletid'];
    $outlets[] = $row['outletid'];
    $amount = $row['amount'];
    ?>
    <?php echo $outlet_id; ?>,
<?php } ?> ]

data: [<?php
$outlet = implode("','", $outlets);
$qsum3 = "SELECT  outletid, SUM(amount) AS totalsum FROM " . TBL_SALES_LOGS . " WHERE outletid IN ('{$outlet}') and fueltype='AGO' group by `outletid`";
$qresult3 = $database->query($qsum3);
while ($rowq3 = $qresult3->fetch_assoc()) {
    $tot3 = $rowq3['totalsum'];
    ?>'<?php echo $tot3; ?>',<?php } ?>]

它使用一系列出口来获取数据。