Я хочу показать свои данные из базы данных в диаграмму, здесь я использую Google Chart.
проблема в том, что когда я считаю и присоединяюсь к таблице, когда дата из двух таблиц отличается, данные не отображаются.
например, у меня есть такие данные.
table1
date(table1) sh_sh
--------- ------------
2018-04-25 data1
2018-04-26 data2
2018-04-27 data3
table2
date(table2) ip
--------- ------------
2018-04-28 data1
2018-04-25 data2
2018-04-24 data3
и я запускаю такой код, я получил этот код от мой вопрос раньше
SELECT urls.date, urls.count AS sh_count, ip.count AS ip_count FROM
(SELECT date(date) AS date, COUNT(*) AS count FROM table1 GROUP BY date(date)) AS urls JOIN
(SELECT date(date) AS date, COUNT(*) AS count FROM table2 GROUP BY date(date)) AS ip ON urls.date = ip.date
вывод
date(url) count(sh_sh) count(ip)
--------- ------------ ----------
2018-04-25 1 1
дата 24,26,27,28 не показывается, причина в другую дату.
что мне нужно сделать, чтобы отобразить данные с разными таблицами и датами .
и когда нет данных, я хочу напечатать 0 .
вот мой скрипт скрипта
<script type="text/javascript">
google.charts.load('current', {'packages':['corechart']});
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Date', 'Urls', 'Clicks'],
<?php
while ($areacharts = $areachart->fetch()) {
echo "['".$areacharts['date']."',".$areacharts['sh_count'].",".$areacharts['ip_count']."],";
} ?>
]);
var options = {
hAxis: {title: 'Date', titleTextStyle: {color: '#333'}},
vAxis: {minValue: 0}
};
var chart = new google.visualization.AreaChart(document.getElementById('summary_chart'));
chart.draw(data, options);
}
$(window).resize(function(){
drawChart();
});
</script>