简体   繁体   English

使用 PHP/MySQL、Javascript、Json 生成基于一个月和不同年份销售额的组合图

[英]Generate Combo Chart based one Months and different year sales using PHP/MySQL, Javascript , Json

 <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('current', {'packages':['corechart']}); google.charts.setOnLoadCallback(drawVisualization); function drawVisualization() { var data = google.visualization.arrayToDataTable([ ['Username', 'Total Sales'], <?php while($sub_row = mysqli_fetch_array($result2)) { echo "['".$sub_row["date"]."', ".$sub_row["number"]."],"; } ?> ]); var options = { title : 'Month & Yearly Total Sales Values', vAxis: {title: 'Total Sales'}, hAxis: {title: 'Month & Year'}, seriesType: 'bars', series: {5: {type: 'line'}} }; var chart = new google.visualization.ComboChart(document.getElementById('Salesmans')); chart.draw(data, options); } </script>
 <?php $query2 = "SELECT DATE_FORMAT(order_datetime,'%m-%Y') as date, SUM(order_total_after_tax) as number FROM tbl_order where status='Confirmed' and type='PROFORMA INVOICE' GROUP BY DATE_FORMAT(order_datetime,'%m-%Y')"; $result2 = mysqli_query($con, $query2); ?> <div id="Salesmans" style="width: 650px; height: 500px;"></div>

Result of My Code Like Month& Year Total Sales By Bar Chart我的代码的结果,例如按条形图显示的月和年总销售额

**I Need Result Like Combo chart ** Combo Chart Like **Jan 2018(sales) near by Jan 2019(Sale),Jan 2020(Sales) ** like this on Combo Chart anyone give idea for me **我需要像组合图一样的结果 **像组合图一样的组合图 **2018 年 1 月(销售)临近 2019 年 1 月(销售),2020 年 1 月(销售)** 像这样的组合图表,任何人都可以为我提供想法

in order to get the desired chart,为了获得所需的图表,
the data table structure will need to be as follows...数据表结构将需要如下...

['Month', '2018 Sales', '2019 Sales', '2020 Sales'],
['Jan', 1000, 1200, 1400],
['Feb', 1000, 1200, 1400],
...

try following sql to get the above format...尝试按照 sql 获取上述格式...

SELECT
  DATE_FORMAT(order_datetime,'%m') as date,
  SUM(case when year(order_datetime) = 2018 then order_total_after_tax else 0 end) as 2018,
  SUM(case when year(order_datetime) = 2019 then order_total_after_tax else 0 end) as 2019,
  SUM(case when year(order_datetime) = 2020 then order_total_after_tax else 0 end) as 2020
FROM
  tbl_order where status='Confirmed'
AND
  type='PROFORMA INVOICE'
GROUP BY
  DATE_FORMAT(order_datetime,'%m')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM