Google 차트를 사용하여 막대 차트를 만들려고합니다. 매월 판매 주문 및 판매 견적 총액을 표시하고 싶습니다. 이제 이렇게 해봤는데, 매월 주문 금액 만 가로 형식으로 표시됩니다. 단일 막대 차트를 사용하여 두 값을 모두 표시하는 방법을 얻지 못하고 있습니다 (세로)
여기 내 코드입니다
$query = "SELECT MONTHNAME(last_modified) as month,
orders.sales_order_id,
orders.authorise, orders.company_id,
before_order_line_items.sales_order_id,
before_order_line_items.item,
before_order_line_items.uom,
SUM(before_order_line_items.total) AS 'Total',
before_order_line_items.tax from orders INNER JOIN
before_order_line_items ON
orders.sales_order_id ON
before_order_line_items.sales_order_id
where orders.order_quote = 'Order'
AND orders.authorise='Yes'
GROUP BY MONTH(orders.last_modified)
ORDER BY MONTH(orders.last_modified)";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result))
{
$myurl[] = "['".$row['month']."', ".$row['Total']."]";
}
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Month', 'Actuals'],
/* ['2004', 1000, 400],
['2005', 1170, 460],
['2006', 660, 1120],
['2007', 1030, 540]*/
<?php echo implode(",", $myurl);
?>
]);
var options = {
title: 'Orders',
vAxis: {title: '', titleTextStyle: {color: 'red'}}
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
먼저 두 값을 모두 반환 하도록 SQL을 조정해야 합니다.
그런 다음 열을 추가하십시오. $myurl[]
$myurl[] = "['".$row['Month']."', ".$row['Quotes'].", ".$row['Orders']."]";
거기에서 차트를 그리지 만 loader.js
이전 라이브러리와 비교하는 것이 좋습니다.jsapi
이와 같은 것이 가까워 야합니다 ...
$query = "SELECT
MONTHNAME(last_modified) as Month,
SUM(case when orders.order_quote = 'Order' then before_order_line_items.total else 0 end) AS Orders,
SUM(case when orders.order_quote = 'Quote' then before_order_line_items.total else 0 end) AS Quotes
FROM orders
INNER JOIN before_order_line_items
ON orders.sales_order_id = before_order_line_items.sales_order_id
WHERE orders.authorise = 'Yes'
GROUP BY MONTH(orders.last_modified)
ORDER BY MONTH(orders.last_modified)";
$result = mysqli_query($con, $query);
while ($row = mysqli_fetch_array($result)) {
$myurl[] = "['".$row['Month']."', ".$row['Quotes'].", ".$row['Orders']."]";
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
google.charts.load('current', {
callback: drawChart,
packages: ['corechart']
});
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Month', 'Quotes', 'Orders'],
<?php
echo implode(",", $myurl);
?>
]);
var options = {
title: 'Orders',
vAxis: {
title: '',
titleTextStyle: {
color: 'red'
}
}
};
var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다