我有这种数据格式的图表
数据:[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对应
答案 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 } ?>]
它使用一系列出口来获取数据。